我们的想法是:用户有什么样的角色,这个角色有什么样的权利,就根据权利显示相应的表,没有权限不显示;
目前:我们登陆软件会有用户名,有用户名就能够获得相应的权限,就可以对应显示;
HomeAction中涉及的代码
public List hasPrivilege() {
List pr1 = new ArrayList();
// 超级管理有所有的权限
if (isAdmin()) {
for(Privilege privilege : privilegeService.findObjects()){
pr1.add(privilege.getName());
}
}else{
// 普通用户要判断是否含有这个权限
for(UserRole userRole:user.getUserRoles()){
for (RolePrivilege rolePrivilege : roleService.getRolePrivilegeByRoleId(userRole.getId().getRole().getRoleId())) {
pr1.add(rolePrivilege.getId().getPrivilege().getName());
}
}
}
return pr1;
}
private boolean isAdmin() {
User user = (User)ServletActionContext.getRequest().getSession().getAttribute(Constant.USER);
return "admin".equals(user.getLoginName());
}
left.jsp中的代码