用户登录成功之后,已经将用户拥有的所有菜单权限和按钮权限查询出来,并放到用户对象上了,不同的用户登录,能看到的菜单权限是不一样的。
一般在后台管理系统中,有些页面的信息是保持不变的,比如: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语句的时候,如果出现<>会报错,解决方案
!=
<>
<![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 <> 0*/
<![CDATA[ and pi.parentid <> 0]]>
</select>
⒍浏览器用不同的用户登录查看访问菜单情况
admin->123456
shichang->123456
zhaiquan->123456