2024年4月15日发(作者:)
Spring Security3的使用方法有4种:
一种是全部利用配置文件,将用户、权限、资源(url)硬编码在xml文件中。
二种是用户和权限用数据库存储,而资源(url)和权限的对应采用硬编码配置。
三种是细分角色和权限,并将用户、角色、权限和资源均采用数据库存储,并且自定义过滤
器,代替原有的FilterSecurityInterceptor过滤器,并分别实现AccessDecisionManager、
InvocationSecurityMetadataSourceService和UserDetailsService,并在配置文件中进行相应配
置。
四是修改spring security的源代码,主要是修改InvocationSecurityMetadataSourceService
和UserDetailsService两个类。前者是将配置文件或数据库中存储的资源(url)提取出来加工成
为url和权限列表的Map供Security使用,后者提取用户名和权限组成一个完整的
(UserDetails)User对象,该对象可以提供用户的详细信息供AuthentationManager进行认证与
授权使用。该方法理论上可行,但是比较暴力,不推荐使用。
本文有两个例子,我在简单例子章节实现了第一种方法。在复杂例子章节实现了第二种
和第三种方法组合使用的例子。简单例子通俗易懂,不再赘述。复杂例子及其使用和扩展,
我将穿插详细的配置注释和讲解,包括整个程序的执行过程。
简单例子
创建web工程如下图所示:
配置如下图所示:
单击Finish即可。
把从spring网站下载的E解压,并将其中的
解压,把WEB-INFlib中的jar包拷贝到如
下图所示:
发布评论