在所有的系统中都会出现权限这个东西,而权限对应这每个人查看的东西都不一样。
所谓权限:指的是系统中的资源,资源包括菜单资源(学习情况报表,账号审核...)以及按钮资源
所谓角色:指的是系统中的权限集合(1)
1、一星权限设计(用户权限多对一)
?执行数据库脚本
?建立实体类
?创建dao
?Web层创建
?更改展示的树形菜单
主要代码:
/**
* 一星
* @param req
* @param resp
* @return
*/
public String login1(HttpServletRequest req,HttpServletResponse resp) {
try {
List<Map<String, Object>> userList = ud.userList1(req.getParameterMap(), null);
Map<String, Object> map = userList.get(0);
if(map != null) {
String menuId=map.get("Menuid").toString();
req.setAttribute("menuId", menuId);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "index";
}
2、二星权限设计(用户权限多对多)
?执行数据库脚本
?修改原有的实体类
?建立实体类
?创建dao
?修改原有的dao
?新增web的方法
?新增登入界面,跳入前端树形菜单
主要代码:
/**
* 二星
* @param req
* @param resp
* @return
*/
public String login2(HttpServletRequest req,HttpServletResponse resp) {
try {
List<Map<String, Object>> userList = ud.userList2(req.getParameterMap(), null);
Map<String, Object> map = userList.get(0);
if(map != null) {
Map<String, String[]> paramMap = new HashMap<>();
paramMap.put("uid", new String[] {(String) map.get("uid")});
//获取中间表的数据信息
List<Map<String, Object>> menuIds = ud.getMenuIds(paramMap, null);
StringBuffer sb=new StringBuffer();
for (Map<String, Object> map2 : menuIds) {
sb.append(",").append(map2.get("menuId"));
}
req.setAttribute("menuId", sb.toString().substring(1));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "index";
}
三星权限设计
?执行数据库脚本
?修改原有的实体类
?建立实体类
?创建dao
?修改原有的dao
?新增web的方法
?新增登入界面,跳入前端树形菜单
主要代码:
/**
* 三星
* @param req
* @param resp
* @return
*/
public String login3(HttpServletRequest req,HttpServletResponse resp) {
try {
List<Map<String, Object>> userList3 = ud.userList3(req.getParameterMap(), null);
//获取登陆的第一个对象
Map<String, Object> map = userList3.get(0);
if(map!=null) {
Map<String, String[]> paramMap2=new HashMap<>();
paramMap2.put("roleid", new String[] {map.get("roleid").toString()});
//获取中间表数据
List<Map<String, Object>> menuId = ud.getMenuId(paramMap2, null);
StringBuffer sb=new StringBuffer();
for (Map<String, Object> map2 : menuId) {
sb.append(",").append(map2.get("menuId"));
}
req.setAttribute("menuId", sb.toString().substring(1));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "index";
}