基于RBAC用户权限控制的校验

在上一次的文章中,简单的说明了基于RBAC用户权限控制的菜单显示和表结构的设计,而往往在企业项目中,仅仅控制用户菜单是不够的,而是要控制到每一个按钮,也就是每一个请求。

首先,用户权限校验的基本流程是,当用户登录成功后,将用户对应的权限存放在缓存中,用户每次发起一个请求时,在拦截器里面判断用户是否具有这个权限。

第一步:拦截器的配置

拦截器的配置是在spring-mvc.xml这个配置文件中的。
代码如下:

<!--配置拦截器, 多个拦截器,顺序执行 -->
    <mvc:interceptors>
        <mvc:interceptor>
            <!-- 匹配的是url路径, 如果不配置或/**,将拦截所有的Controller-->
            <mvc:mapping path="/**" />
            <!-- 需排除拦截的地址 -->
            <mvc:exclude-mapping path="/login.ding.jsp"/>
            <mvc:exclude-mapping path="/login.pcding.jsp"/>
            <mvc:exclude-mapping path="/login.index.jsp"/>
            <mvc:exclude-mapping path="/user/toIndex"/>
            <mvc:exclude-mapping path="/user/toLogin"/>
            <mvc:exclude-mapping path="/www/login.jsp"/>
            <bean class="com.siweisoft.interceptor.UserInfoLoginInterceptor"></bean>
        </mvc:interceptor>
        <!--<mvc:interceptor>-->
            <!--&lt;!&ndash; 匹配的是url路径, 如果不配置或/**,将拦截所有的Controller&ndash;&gt;-->
            <!--<mvc:mapping path="/**" />-->
            <!--<bean class="com.siweisoft.interceptor.LogInterceptor"></bean>-->
        <!--</mvc:interceptor>-->
        <!-- 当设置多个拦截器时,先按顺序调用preHandle方法,然后逆序调用每个拦截器的postHandle和afterCompletion方法 -->
        <mvc:interceptor>
            <!-- 匹配的是url路径, 如果不配置或/**,将拦截所有的Controller-->
            <mvc:mapping path=
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RBAC(Role-Based Access Control)权限模型是一种常见的权限控制机制,能够实现用户对系统内资源的访问控制。下面介绍基于Java实现RBAC权限模型的步骤。 1. 数据库设计 首先需要设计数据库表,主要包含用户表、角色表、权限表和关系表。其中,用户表存储用户信息,角色表存储角色信息,权限表存储权限信息,关系表记录用户角色的关系、角色权限的关系。 2. 实现用户登录 用户登录是RBAC权限模型的入口,在此之前,需要实现用户注册和密码加密功能。用户登录界面输入账号和密码,对密码进行加密和校验,成功后获取用户信息和角色信息。获取后将角色信息保存在会话中供后续使用。 3. 实现角色认证 用户登录成功后,需要通过角色认证确定用户是否拥有访问资源的合法权限。在Java中,通常采用Spring Security框架来实现角色认证。在配置文件中,定义要保护的资源和允许访问该资源的角色列表。 4. 实现管理员功能 管理员功能是指对角色权限进行管理的功能,包括创建角色、修改角色、删除角色、授权等。在Java中,可以使用Spring MVC框架来实现管理员功能。管理员创建角色时,需要指定角色名称和角色描述;管理员授权时,需要选择角色权限,并将授权信息保存至关系表中。 5. 实现普通用户功能 普通用户功能是指用户能够访问的资源和权限的功能。在Java中,可以使用Spring MVC框架来实现普通用户功能。在访问特定资源时,通过会话中保存的角色信息和Spring Security框架授权信息确定当前用户是否拥有访问该资源的合法权限。 总体来说,基于Java实现RBAC权限模型需要涉及到数据库设计、用户登录、角色认证、管理员功能和普通用户功能等方面的开发工作。通过合理的设计和实现,可以实现对系统内资源的访问控制

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值