用戶登錄成功之后,已經將用戶擁有的所有菜單權限和按鈕權限查詢出來,并放到用戶對象上了,不同的用戶登錄,能看到的菜單權限是不一樣的。
一般在后臺管理系統中,有些頁面的信息是保持不變的,比如: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