easyui Tree角色許可權選單
阿新 • • 發佈:2018-11-01
既然是角色許可權選單那麼首先就要知道什麼是角色?
所謂角色:指的是系統中的許可權集合,簡單的說就是什麼功能給他用什麼功能不給
使用者登入之後取到使用者角色的id到角色許可權中間表去撈取許可權用來顯示選單
/** * * @Title: login1 * @Description: (登入的方法) * @param map 使用者名稱和密碼的map集合 * @param pageBean 分頁類 這裡不分頁所以不使用 * @return * @throws Exception * @return List<Map<String,Object>> */ public List<Map<String, Object>> login3(Map<String, String[]> map,PageBean pageBean) throws Exception{ String uid=JsonUtils.getParamvalue(map, "uid"); String upwd=JsonUtils.getParamvalue(map,"upwd"); StringBuilder sb=new StringBuilder(); sb.append("select * from t_easyui_user_version3"); sb.append(" where uid='"+uid+"' and upwd='"+upwd+"' "); return super.executeQuery(pageBean, sb.toString()); }
/** * * @Title: findrole * @Description: (查詢對應角色表) * @param rid 角色id * @return * @return List<Map<String,Object>> * @throws Exception */ public List<Map<String, Object>> findrole(String rid) throws Exception{ StringBuilder sb=new StringBuilder(); sb.append("select * from tb_easyui_role"); sb.append(" where rid='"+rid+"'"); return super.executeQuery(null, sb.toString()); }
將前面的方法綜合使用,查詢的方法在上一篇部落格有講到
/** * * @Title: login3 * @Description: (三星角色許可權選單) * @param request * @param response * @return * @return ActionForward */ public ActionForward login3(HttpServletRequest request, HttpServletResponse response) { try { /** * 登入的方法 */ List<Map<String, Object>> user = ud.login3(request.getParameterMap(), null); Map<String, Object> map = user.get(0); if (map != null) { /** * 獲取到角色id */ String rid = (String) map.get("rid"); Map<String, Object> map3 = new HashMap<>(); map3.put("rid", rid); /** * 查詢 角色所有的許可權 * 將許可權id拼接使用in關鍵字查詢 */ List<Map<String, Object>> menuids = ud.getroleMenuids(map3); StringBuilder sb = new StringBuilder(); for (Map<String, Object> map2 : menuids) { sb.append(",").append(map2.get("MenuId")); } request.setAttribute("Menuid", sb.toString().substring(1)); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return new ActionForward(true, "menu.jsp"); }
在登入頁面請求此方法,然後將此方法獲取到的許可權id作為條件去請求查詢方法
$(function(){
$('#MenuTree').tree({
url:'menuaction.action?methodName=MenuTreeList&Menuid='+$("#Menuid").val()
,onClick: function(node){
if($('#Menutab').tabs('exists',node.text)){
$('#Menutab').tabs('select',node.text)
}else{
$('#Menutab').tabs('add',{
title:node.text,
content:'<iframe scrolling="no" frameborder="0" src="'+node.attributes.menuUrl+'" width="99%" height="99%"></iframe>',
closable:true,
}); }
}
});
})
使用高階管理員登入
效果
普通使用者
效果為