关于权限管理的设计技巧
首先是关于数据库的设计,一个是角色表,一个是权限表,因为一个角色可以对应多个权限,一个权限可以对应多个角色,所以,权限表和角色表示多对多的关系
(权限表的设计技巧,设计的url路径是具体的方法的路径)
权限分配的流程===》
1、首先是先进入登录界面,输入账号密码
2、进行身份验证
/**
* 登录
* @return
*/
public String login() throws Exception {
System.out.println(model.getLoginName());
User user=userService.findByLoginNameAndPassward(model.getLoginName(),model.getPassword());
System.out.println(user);
if(user==null)
{
//显示错误信息,然后返回loginUI
addFieldError("login", "用户名和密码不正确");
return "loginUI";
}else{
//登录成功添加一个session、
ActionContext.getContext().getSession().put("user", user);
return "toindex";
}
}
/**
* 验证登录名和密码的方法
* @param name
* @param password
* @return
*/
public User findByLoginNameAndPassward(String name, String password) {
// TODO Auto-generated method stub
return (User) getSession().createQuery(//
"FROM User u WHERE u.loginName=? AND u.password=? ")//
.setParameter(0, name)//
.setParameter(1, password)//
.uniqueResult();
}
//用hql查询的结果是一个Collection的集合结果
3、登录成功之后保存当前的session
//登录成功添加一个session、
ActionContext.getContext().getSession().put("user", user);
、、、
4、登录成功之后进入index。jsp
然后重定向到action
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
response.sendRedirect(<