和用户权限以达到保护Web资源的目的。对于Web资源我们大约可以只用
f6个过滤器来保护我们的应用系统,下表列出了这些安全过滤器的名称作用以及它们在系统中的执行顺序:过滤器
通道处理过滤器认证处理过滤器处理过滤器CAS处理过滤器HTTP基本授权过滤器集成过滤器安全强制过滤器
作
用
确保请求是在安全通道(HTTP和HTTPS)之上传输的接受认证请求,并将它们转交给认证管理器进行身份验证接受CAS服务票据,验证YaleCAS(单点登录)是否已经对用户进行了认证处理使用HTTP基本认证的身份验证请求处理认证信息在请求间的存储(比如在HTTP会话中)确保用户己经认证,并且满足访问一个受保护Web资源的权限需求
接下来,通过一个实例来说明它们的具体使用方法和如何在Spri
g中进行配置。1建立Spri
gSecurity项目首先在MyEclipse中创建一个WebProject,并使用MyEclipse工具导入Spri
g项目的依赖JAR包,并生成默认的,这里暂时不会用到这个文件,本文只是通过一个简单的实例来说明如何配置使用Spri
gSecurity,不会涉及到数据库,而是使用一个用户属性(usersproperties)文件来保存用户信息(包括用户名,密码及相应的权限),但在实际的项目中,我们很少会这样做,而是应该把用户信息存在数据库中,下一篇文章中将会详细介绍并用到这个文件来配置Hiber
ate,这里我们保留它。现在还需要为项目导入Spri
gSecurity的JAR包,它没有包括在Spri
gFramework中,你可以从httpwwwspri
gframeworkorgdow
load下载,并将spri
gsecuritycore200jar(这是核心代码库)和spri
gsecuritycoretiger200jar(和a
otatio
有关的,比如使用注解对方法进行安全访问控制,在下一篇中会用到)拷贝到项目的lib目录下,其中也包括两个实例(tutorial和co
tacts),并且两个实例中都包括了如何使用Spri
g20的命名空间来配置Spri
gSecurity,无论你对Spri
g20命名空间的使用是否了解,它将使我们的配置文件大大缩短,简化开发,提高生产效率。到此,我们的Spri
gSecurity项目就建好了,项目目录结构如下图所示:
f图2项目目录结构2配置webxmlSpri
gSecurity使用一组过滤器链来对用户进行身份验证和授权。首先,在webxml文件中添加FilterToBea
Proxy过滤器配置:
1filter2345678910111312filterfilter
amespri
gSecurityFilterChai
filter
amefilterclassorgspri
gframeworksecurityutilFilterToBea
Proxyfilterclassi
itparamparam
ametargetClassparam
ameparamvalueorgspri
gframeworksecurityutilFilterChai
Proxyparamvaluei
itparam
orgspri
gframeworksecurityutilFr