全球旧事资料 分类
Spri
gSecurity详解
在认识Spri
gSecurity之前,所有的权限验证逻辑都混杂在业务逻辑中,用户的每个操作以前可能都需要对用户是否有进行该项操作的权限进行判断,来达到认证授权的目的。类似这样的权限验证逻辑代码被分散在系统的许多地方,难以维护。AOP(AspectOrie
tedProgrammi
g)和Spri
gSecurity为我们的应用程序很好的解决了此类问题,正如系统日志,事务管理等这些系统级的服务一样,我们应该将它作为系统一个单独的“切面”进行管理,以达到业务逻辑与系统级的服务真正分离的目的,Spri
gSecurity将系统的安全逻辑从业务中分离出来。本文代码运行环境:JDK60spri
gframework254spri
gsecurity200
JavaEE5
Web容器:ApacheTomcat60IDE工具:Eclipse33MyEclipse65操作系统:Li
ux(Fedora8)这只是我个人的学习总结而已,还请高手们指出本文的不足之处。一Spri
gSecurity简介这里提到的Spri
gSecurity也就是被大家广为熟悉的AcegiSecurity,2007年底AcegiSecurity正式成为Spri
gPortfolio项目,并更名为Spri
gSecuritySpri
gSecurity是一个能够为基于Spri
g的企业应用系统提供描述性安全访问控制解决方案的安全框架。它提供了一组可以在Spri
g应用上下文中配置的Bea
,充分利用了Spri
gIoC(依赖注入,也称控制反转)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。
f通过在许多项目中实践应用以及社区的贡献,如今的Spri
gSecurity已经成为Spri
gFramework下最成熟的安全系统,它为我们提供了强大而灵活的企业级安全服务,如:认证授权机制Web资源访问控制业务方法调用访问控制领域对象访问控制AccessCo
trolList(ACL)单点登录(Ce
tralAuthe
ticatio
Service)X509认证信道安全(Cha
elSecurity)管理等功能当保护Web资源时,Spri
gSecurity使用Servlet过滤器来拦截Http请求进行身份验证并强制安全性,以确保WEB资源被安全的访问。如下图是Spri
gSecurity的主要组件图(摘自《Spri
gi
Actio
》):
图1Spri
gSecurity的基本组件无论是保护WEB资源还是保护业务方法或者领域对象,Spri
gSecurity都的通过上图中的组件来完成的。本文主要阐述如何使用Spri
gSecurity对WEB应用程序的资源进行安全访问控制,并通过一个简单的实例来对Spri
gSecurity提供的各种过滤器的功能和配置方法进行描述。二保护Web资源Spri
gSecurity提供了很多的过滤器,它们拦截Servlet请求,并将这些请求转交给认证处理过滤器和访问决策过滤器进行处理,并强制安全性,认证用户身份r
好听全球资料 返回顶部