P2P后台管理系统

个人中心页面中,根据登录用户拥有的菜单权限显示菜单

用户登录成功之后,已经将用户拥有的所有菜单权限和按钮权限查询出来,并放到用户对象上了,不同的用户登录,能看到的菜单权限是不一样的。

一般在后台管理系统中,有些页面的信息是保持不变的,比如:header、footer等,所有可以将这些页面单独提取出来,在需要的地方通过jsp的静态include或者动态include导入,注意动态include中不能出现${request.contextPath}这样的语法。

⒈在16-p2p-admin的IndexController中创建profile方法,跳转到个人中心页面

/**
 * 跳转到个人中心页面
 */
@RequestMapping("/admin/profile")
public String profile(){
    return "profile";
}

⒉为16-p2p-admin准备个人中心页面,在个人中页面profile.jsp中引入公共的jsp,直接从已有项目p2p-admin复制即可

复制过来的路径需要修改,选中16-p2p-admin,CTRL+SHIFT+R,将static/ace替换为assets

⒊将left.jsp中,遍历属性名修改为和自己定义的保持一致

⒋将profile.jsp中,用户的最后登录时间修改为小写

⒌在PermissionInfoMapper.xml文件中,查询用户拥有的菜单权限时过滤掉管理面板

在写SQL语句的时候,如果出现<>会报错,解决方案

▪ !=

▪ &lt;&gt;

▪ <![CDATA[ ]]>

<select id="selectPermissionInfoByUserIdAndType" resultMap="BaseResultMap">
  select
  <include refid="My_Base_Column_List" />
  from
  u_permission_info pi
  left join
  u_role_permission rp  on pi.id = rp.permission_id
  left join
  u_role_info ri on ri.id = rp.role_id
  left join
  u_user_role ur on ur.user_id = ri.id
  where
  ur.user_id = #{userId,jdbcType=INTEGER} and type = #{type,jdbcType=VARCHAR}
  /*and pi.parentid != 0*/
  /*and pi.parentid &lt;&gt; 0*/
  <![CDATA[ and pi.parentid <> 0]]>
</select>

⒍浏览器用不同的用户登录查看访问菜单情况

admin->123456

shichang->123456

zhaiquan->123456

全部教程