实现管理系统的用户权限
1数据库
用户信息表(tb_user),存储用户编号,用户名和用户密码。
系统角色表(tb_role),存储的是系统所拥有的角色及描述。
用户对应角色表(user_role),存储的是用户所对应的系统角色。
2用户界面显示
@RequestMapping("login.do")
public ModelAndView login(User user, HttpSession session){
//通过根据用户名和密码查询数据库,得到用户id
int id = userService.login(user.getUsername(), user.getPassword());
ModelAndView modelAndView = new ModelAndView();
//用户id存在则该用户能够登陆,否则不能
if(id!=-1){
//通过用户id在用户与角色的表中查询所拥有的角色id,并将它返回给前端
List<Integer> roleIds = roleService.findRoleByUserId(id);
session.setAttribute("roleIds",roleIds);
session.setAttribute("user",user);
modelAndView.setViewName("main");
}else{
modelAndView.setViewName("../failer");
}
return modelAndView;
}
<%
List<Integer> roleIds = (List<Integer>) session.getAttribute("roleIds");
if(roleIds.contains(1)){
%>
<li id="system-setting1">
<a href="#">
<i class="fa fa-circle-o">
</i> 角色管理
</a>
</li>
<%
}
%>
3用户添加角色
信息保存到user_role数据表中
function addRoles() {
var checkNum = $("input[name='roleId']:checked").length;
if(checkNum==0){
alert("请至少选择一个角色添加");
return;
}
if(confirm("你确认要添加这些角色吗?")){
var roleList = new Array();
$("input[name='roleId']:checked").each(
function () {
roleList.push($(this).val())
}
);
var userId = $("input[name='userId']").val();
location.href="/user/addRole.do?roleIds="+roleList.toString()+"&userId="+userId;
}
}