- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Spring_Security详解
Spring Security详解
在认识Spring Security之前,所有的权限验证逻辑都混杂在业务逻辑中,用户的每个操作以前可能都需要对用户是否有进行该项操作的权限进行判断,来达到认证授权的目的。类似这样的权限验证逻辑代码被分散在系统的许多地方,难以维护。AOP(Aspect Oriented Programming)和Spring Security为我们的应用程序很好的解决了此类问题,正如系统日志,事务管理等这些系统级的服务一样,我们应该将它作为系统一个单独的“切面”进行管理,以达到业务逻辑与系统级的服务真正分离的目的,Spring Security将系统的安全逻辑从业务中分离出来。
??? 本文代码运行环境:
??? JDK6.0
??? spring-framework-2.5.4
??? spring-security-2.0.0
??? JavaEE5
??? Web容器:
??? Apache Tomcat6.0
??? IDE工具:
??? Eclipse3.3+MyEclipse6.5
??? 操作系统:
??? Linux(Fedora 8)
??? 这只是我个人的学习总结而已,还请高手们指出本文的不足之处。
??? 一? Spring Security 简介
??? 这里提到的Spring Security也就是被大家广为熟悉的Acegi Security,2007年底Acegi Security正式成为Spring Portfolio项目,并更名为Spring Security.Spring Security是一个能够为基于Spring的企业应用系统提供描述性安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC(依赖注入,也称控制反转)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。
??? 通过在许多项目中实践应用以及社区的贡献,如今的Spring Security已经成为Spring Framework下最成熟的安全系统,它为我们提供了强大而灵活的企业级安全服务,如:
??? ????????? 认证授权机制
??? ?????????? Web资源访问控制
??? ????????? 业务方法调用访问控制
??? ????????? 领域对象访问控制Access Control List(ACL)
??? ????????? 单点登录(Central Authentication Service)
??? ????????? X509认证
??? ????????? 信道安全(Channel Security)管理等功能
??? 当保护Web资源时,Spring Security使用Servlet 过滤器来拦截Http请求进行身份验证并强制安全性,以确保WEB资源被安全的访问。如下图是Spring Security的主要组件图(摘自《Spring in Action》):
??? 图1 Spring Security的基本组件
??? 无论是保护WEB资源还是保护业务方法或者领域对象,Spring Security都的通过上图中的组件来完成的。本文主要阐述如何使用Spring Security对WEB应用程序的资源进行安全访问控制,并通过一个简单的实例来对Spring Security提供的各种过滤器的功能和配置方法进行描述。
二? 保护Web资源
??? Spring Security提供了很多的过滤器,它们拦截Servlet请求,并将这些请求转交给认证处理过滤器和访问决策过滤器进行处理,并强制安全性,认证用户身份和用户权限以达到保护Web资源的目的。对于Web资源我们大约可以只用6个过滤器来保护我们的应用系统,下表列出了这些安全过滤器的名称作用以及它们在系统中的执行顺序:
?滤?器 作????????????? 用 通道处理过滤器 确保请求是在安全通道(HTTP和HTTPS)之上传输的 认证处理过滤器 接受认证请求,并将它们转交给认证管理器进行身份验证 CAS处理过滤器 接受CAS服务票据,验证Yale CAS(单点登录)是否已经对用户进行了认证 HTTP基本授权过滤器 处理使用HTTP基本认证的身份验证请求 集成过滤器 处理认证信息在请求间的存储(比如在HTTP会话中) 安全强制过滤器 确保用户己经认证,并且满足访问一个受保护Web资源的权限需求 ??? 接下来,通过一个实例来说明它们的具体使用方法和如何在Spring中进行配置。
??? 1? 建立Spring Security项目
??? 首先在MyEclipse中创建一个Web
文档评论(0)