ssh中关于权限管理的设计技巧

本文探讨SSH框架下权限管理的设计,包括角色与权限的多对多关系,权限表以具体方法路径为URL,登录验证流程,以及登录成功后的页面重定向。在Javabean中实现权限对比方法,并通过自定义拦截器检查未登录用户的访问权限,确保系统安全。
摘要由CSDN通过智能技术生成

关于权限管理的设计技巧

首先是关于数据库的设计,一个是角色表,一个是权限表,因为一个角色可以对应多个权限,一个权限可以对应多个角色,所以,权限表和角色表示多对多的关系
(权限表的设计技巧,设计的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(<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值