Spring Security 文档
那么在Spring Security3的使用中,有4种方法: 一种是全部利用配置文件,将用户、权限、资源(url)硬编码在xml文件中,已经实现过,并经过验证; 二种是用户和权限用数据库存储,而资源(url)和权限的对应采用硬编码配置,目前这种方式已经实现,并经过验证。 三种是细分角色和权限,并将用户、角色、权限和资源均采用数据库存储,并且自定义过滤器,代替原有的FilterSecurityInterceptor过滤器, 并分别实现AccessDecisionManager、InvocationSecurityMetadataSourceService和UserDetailsService,并在配置文件中进行相应配置。 目前这种方式已经实现,并经过验证。 四是修改spring security的源代码,主要是修改InvocationSecurityMetadataSourceService和UserDetailsService两个类。 前者是将配置文件或数据库中存储的资源(url)提取出来加工成为url和权限列表的Map供Security使用,后者提取用户名和权限组成一个完整的(UserDetails)User对象,该对象可以提供用户的详细信息供AuthentationManager进行认证与授权使用。 Spring Security 是一个强大的安全框架,用于管理Web应用和企业级应用的安全性。在Spring Security 3的使用中,有四种常见的实现方式: 1. **全配置文件方式**:所有用户、权限和资源URL都直接硬编码在XML配置文件中。这种方法简单明了,但不灵活,一旦需求变化,就需要修改配置文件,不利于维护。 2. **部分数据库存储**:用户和权限数据存储在数据库中,而资源URL与权限的映射仍通过XML配置。这种方式提高了部分灵活性,用户和权限的增删改查可以通过数据库操作完成,但资源URL的管理仍然固定。 3. **全面数据库存储和自定义过滤器**:用户、角色、权限和资源都存于数据库中,并且自定义过滤器替代默认的`FilterSecurityInterceptor`。同时,需要实现`AccessDecisionManager`、`InvocationSecurityMetadataSourceService`和`UserDetailsService`接口。这种方式提供了最大的灵活性,可以根据业务需求定制安全逻辑,但实现过程较为复杂。 4. **修改Spring Security源代码**:主要修改`InvocationSecurityMetadataSourceService`和`UserDetailsService`两个类,以适应特定的业务需求。这种方法对源码的侵入性较强,理论上可行,但改动较大,可能导致升级困难,且未经过验证。 在使用Spring Security的四种方法中,第三种方法是最为推荐的,因为它提供了最大的可扩展性和灵活性。通过数据库存储,可以方便地管理和维护用户、角色和权限,而自定义过滤器和接口实现则允许我们根据业务逻辑定制安全策略。 在开始实施Spring Security之前,需要确保SSH2(Struts2、Spring、Hibernate)环境已经搭建完毕,并且已经引入了Spring Security 3.0.2的五个核心JAR包和其他相关依赖。配置完成后,可以通过Spring Security提供的例子学习和理解框架的工作原理。 在第一种方法中,Spring Security的示例项目`spring-security-samples-tutorial-3.0.2.RELEASE`提供了硬编码配置的参考,它演示了如何在XML配置文件中定义用户、密码和权限。这种方法适合初学者快速了解Spring Security的基本概念和配置方式。 Spring Security 3提供了多种适应不同需求的安全解决方案,从简单的配置文件到完全数据库驱动,甚至对源码的深度定制,为企业级应用的安全管理提供了全面的支持。开发者可以根据项目规模、复杂度以及团队的技术能力选择合适的方法。
剩余63页未读,继续阅读
- 粉丝: 1
- 资源: 18
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 光伏锂电池储能功率协调控制系统仿真 1左侧光伏Boost控制部分:采用扰动观察法来进行MPPT最大功率跟踪,其中可以改变光照
- 基于Java平台的货物管理设计源码
- 含压缩空气储能的冷热电联供微网运行优化策略matlab
- 基于多语言支持的茶叶信息检索系统设计源码
- 基于Spring Cloud+Vue技术架构的Shenhong-OA系统优化设计源码
- 基于Java语言的springDemo食谱项目设计源码
- 基于Python编写的spider_demo爬虫设计源码
- 基于大数据分析的京东服装用户消费画像设计源码
- 基于Spring+Quartz集成的Java定时任务调度器设计源码
- 三相不平衡电压下T型NPC三电平并网逆变器并网控制 1.采用正负序分离锁相环以及正序PI控制,负序PI控制 2.采用中点电位平衡