SpringSecurity 3.2入门(7)自定义权限控制介绍

总结Spring Security的使用方法有如下几种:

  一种是全部利用配置文件,将用户、权限、资源(url)硬编码在xml文件中。

  二种是用户和权限用数据库存储,而资源(url)和权限的对应关系硬编码在xml文件中。

  三种是全部使用数据库存储,将用户、角色、权限、资源以及它们之间的对应关系都存储在数据库中,同时自定义过滤器,

代替原有的FilterSecurityInterceptor过滤器,并分别实现AccessDecisionManager、InvocationSecurityMetadataSourceService和

UserDetailsService,并在配置文件中进行相应配置。

对用户、角色、权限、资源的学习可阅读下面两篇文章:

  1、完整的权限管理系统,设计概要

  2、SpringSecurity 3.2入门(1)框架介绍

  简单的学习和使用过Spring Security 以后,你会发现,我们的案例将权限控制的用户、权限、资源(url)都硬编码在了xml配置文件中(第一种方法)。事实上,在实际项目中,为了安全体验和方便授权操作,我们不可能将这些内容都配置在文件中,常用的做法是使用数据库动态加载这些内容(第三种方法)。

  在实际项目中,我们采用第三种方法进行权限控制,那么对用户、角色、权限、资源相互之间的关系内容和信息内容,就得由我们在数据库进行维护。需要维护的内容有用户、角色、权限、资源的增删改查,以及对用户和角色、角色和权限、权限和资源之间关系的管理,因此我们需要设计7张表(将会在下一章中学习)。

  可以考虑分为三个菜单进行维护,用户设置、角色设置、资源设置。 在用户设置里分别管理用户、用户与角色的关系;在角色设置里管理角色、角色与权限的关系;在资源设置里分别管理权限、权限与资源的关系。资源的管理一般在项目正式上线时就已经在数据库中存储完成。

上一篇:Sql Server来龙去脉系列 必须知道的权限控制基础篇


下一篇:【JAVA零基础入门系列】Day8 Java的控制流程