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,      
	    		});  }

	    	}
	}); 
	
})

使用高级管理员登录

扫描二维码关注公众号,回复: 3853079 查看本文章

效果

普通用户

效果为

猜你喜欢

转载自blog.csdn.net/yjt520557/article/details/82861925
今日推荐