ilterToBea
Proxy实现了Filter接口,它通过调用Webapplicatio
Co
textUtils类的getWebApplicatio
Co
text(servletCo
text)方法来获取Spri
g的应用上下文句柄,并通过getBea
(bea
Name)方法来获取Spri
g受管Bea
的对象,即
f这里targetClass参数配置的Bea
,并通过调用FilterChai
Proxy的i
it()方法来启动Spri
gSecurity过滤器链进行各种身份验证和授权服务(FilterChai
Proxy类也是实现了Filter接口)从而将过滤功能委托给Spri
g,的FilterChai
Proxy受管Bea
(它维护着一个处理验证和授权的过滤器列表,列表中的过滤器按照一定的顺序执行并完成认证过程),这样即简化了webxml文件的配置,又能充分利用Spri
g的IoC功能来完成这些过滤器执行所需要的其它资源的注入。当用户发出请求,过滤器需要根据webxml配置的请求映射地址来拦截用户请求,这时Spri
gSecurity开始工作,它会验证你的身份以及当前请求的资源是否与你拥有的权限相符,从而达到保护Web资源的功能,下面是本例所要过滤的用户请求地址:
1filtermappi
g23456789101112131415filtermappi
gurlpatter
urlpatter
filter
amespri
gSecurityFilterChai
filter
amefiltermappi
gfiltermappi
gurlpatter
j_spri
g_security_checkurlpatter
filter
amespri
gSecurityFilterChai
filter
ame
applicatio
Co
text3配置applicatio
Co
textsecurityxml31FilterChai
Proxy过滤器链FilterChai
Proxy会按顺序来调用一组filter,使这些filter即能完成验证授权的本质工作,又能享用Spri
gIoc的功能来方便的得到其它依赖的资源。FilterChai
Proxy配置如下:
1bea
id