easyui Tree角色权限菜单
既然是角色权限菜单那么首先就要知道什么是角色?
所谓角色:指的是系统中的权限集合,简单的说就是什么功能给他用什么功能不给
用户登录之后取到用户角色的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,
}); }
}
});
})
使用高级管理员登录
效果
普通用户
效果为