SpringSecurity3.2.5自定义角色及权限的教程

最近阴差阳错的搞上了SpringSecurity3,因为是自己做的小系统,中间遇到了很多坑,基本每个坑都踩过了,网上也查了不少资料,发现有不少错误的,更是让我绕了一圈又一圈,现在把一些基本的东西总结一下。

先从整体上总结一下为什么使用SS,一般的,在不使用ss的情况下,我们基本会在每个业务方法执行前,插入一段用于验证权限的代码,从而判断当前用户是否有相应权限进行操作,这样做就会让业务方法和验证权限有了一个紧密的耦合;如果使用ss,我们就可以通过注解或者XML配置方式代替权限验证,使得业务和权限代码彻底分离,通过下图可以更形象的理解:


目前,权限管理采用最多的技术都是基于角色访问控制技术RBAC(Role Based Access Control)。一般来说,提供如下功能:1,角色管理界面,由用户定义角色,给角色赋权限;2,用户角色管理界面,由用户给系统用户赋予角色。什么是RBAC,说到底其实就是五张表,权限表-权限角色对应表-角色表-角色用户对应表-用户表,比较常见。但是ss3默认支持的并不是这种模式,而是通过XML配置角色及用户的方式实现的权限验证等操作,所以需要我们去实现SS中一些接口,让其支持RBAC,下面开始搭建一套支持RBAC技术的SS框架:

(1)数据库相关表格:

1.用户表Users

    CREATE TABLE `users` (

       `password` varchar(255) default NULL,
       `username` varchar(255) default NULL,
       `uid` int(11) NOT NULL auto_increment,
       PRIMARY KEY  (`uid`)
    )

 

   2.角色表Roles

   CREATE TABLE `roles` (
     `rolename` varchar(255) default NULL,
     `rid` int(11) NOT NULL auto_increment,
     PRIMARY KEY  (`rid`)
   )

 

   3 用户_角色表users_roles

   CREATE TABLE `users_roles` (

     --用户表的外键
     `uid` int(11) default NULL,

     --角色表的外键
     `rid` int(11) default NULL,
     `urid` int(11) ,
     PRIMARY KEY  (`urid`),
   )

 

   4.资源表resources

   CREATE TABLE `resources` (

     -- 权限所对应的url地址
     `url` varchar(255) default NULL,

     --权限所对应的编码,例201代表发表文章
     `resourcename` varchar(255) default NULL,
     `rsid` int(11) ,
     PRIMARY KEY  (`rsid`)
   )

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Spring Security 3.2.5是一个基于Spring框架的认证和授权解决方案,用于构建安全性较高的Java应用程序。它提供了一套全面的API和配置选项,可以方便地集成到Spring应用中。 Spring Security 3.2.5文档详细介绍了其主要功能和用法。其中包括了如何配置用户认证、授权和记住我功能等。它提供了多种认证方式,包括内存认证、数据库认证、LDAP认证等,开发人员可以根据实际需求选择合适的认证方式。同时,Spring Security 3.2.5还支持多种授权方式,包括基于角色的授权和基于权限的授权,使开发人员能够灵活地定义用户权限。 在文档中,Spring Security 3.2.5还介绍了如何自定义认证和授权逻辑,并扩展现有的安全配置。开发人员可以通过实现接口或者继承现有的类来实现自定义的认证和授权逻辑,以满足特定的业务需求。 除了基本的认证和授权功能,Spring Security 3.2.5还提供了其他的安全特性,如CSRF保护、安全头信息配置、安全事件和日志等。这些功能可以帮助开发人员构建更加安全的应用程序,并保护用户的隐私和数据安全。 总的来说,Spring Security 3.2.5文档对于理解和使用Spring Security框架非常有帮助。它提供了详细的说明和示例代码,使开发人员能够快速上手并集成安全性功能到他们的Spring应用中。无论是初学者还是有经验的开发人员,都可以通过阅读该文档,了解和掌握Spring Security框架的使用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值