SpringSecurity配置

本文详细介绍了Spring Security的配置方法,包括使用命名空间进行HTTP过滤器链、自定义安全认证管理器与授权过滤器的注册。阐述了<http>元素的功能与配置选项,如auto-config属性、拦截URL与访问策略管理器的使用。同时,解释了安全认证流程,包括注册AuthenticationManager、AuthenticationProvider以及使用<intercept-url>元素进行资源访问权限配置。最后,介绍了自定义过滤器的使用与位置控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.applicationContext-security的配置 
使用命名空间,主要分为3个部分: 
a. <http>注册过滤器链,配置表单登陆,注销等 
b. 注册自定义的安全认证管理器 
c. 注册自定义的授权过滤器 


2.<http> 
a. <http>元素会创建一个FilterChainProxy和filter使用的bean。以前常常出现的因为filter顺序不正确产生的问题不会再出现了,现在这些过滤器的位置都是预定义好的。 
b. auto-config = true(默认为false) 
<http auto-config="false"> 
    <intercept-url pattern="/**" access="ROLE_USER" /> 
    <form-login /> 
    <anonymous /> 
    <http-basic /> 
    <logout /> 
    <remember-me /> 
</http> 
c. access-decision-manager-ref属性可以自定义的访问策略管理器。当系统角色名的前缀不是默认的ROLE_时,需要自定义访问策略管理器。 


3.安全认证 
a. <authentication-manager alias="XX"/>为AuthenticationManager注册一个别名,然后你可以application context的其他地方使用这个名字 
b. <authentication-provider>元素会创建一个DaoAuthenticationProvider bean;一个ProviderManager bean通常是由命名空间过程系统创建的, DaoAuthenticationProvider自动注册到它上面 
c. <user-service>元素会创建一个InMemoryDaoImpl。 
d. 使用<custom-authentication-provider>元素可以为ProviderManager注册另外的AuthenticationProvider bean 


4.http/intercept-url 
a. <intercept-url pattern="/XX" access="ROLE_XXX" />定义了对某个资源的访问需要某个角色的权限 
b. 对于在http/intercept-url中没有进行定义的URL,将会默认使用系统内置的过滤器链进行权限认证(就是说无须认证和授权就能访问了); 
c. 若使用了pattern="/*" 则一般情况下要配置匿名认证过滤器--登陆页面也被保护的话则会陷入死循环中. 
d. 由于一般情况下资源对应的权限都配置在数据库的资源权限表中,所以这个元素一般情况下没用 
e. 如果数据库中的资源权限表中不存在该资源记录,那么匿名认证过滤器实际上时不需要的. 


5.<security:custom-filter> 
a. <security:custom-filter position="XXX"/>会使用自定义的过滤器替换(position)某个过滤器,但是有3个不能替换:HttpSessionContextIntegrationFilter, ExceptionTranslationFilter, FilterSecurityInterceptor.但是可以使用before或after 

b. 除了使用position外,还可以使用before,after加入自定义的过滤器,还有的关键字包括first,last代表这个过滤器链的头和尾 


本文出自:

http://mengyang.iteye.com/blog/383606

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值