最小 <http>配置
只需要进行如下配置就可以实现安全配置:
<http auto-config='true'>
<intercept-url pattern="/**" access="ROLE_USER" />
</http>
这表示,我们要保护应用程序中的所有URL,只有拥有 ROLE_USER角色的用户才能访问。
Note
你可以使用多个<intercept-url>元素为不同URL 的集合定义不同的访问需求,它们会被归入一个有序队
列中,每次取出最先匹配的一个元素使用。 所以你必须把期望使用的匹配条件放到最上边。
<http>元素会创建一个FilterChainProxy和filter 使
用的bean。 以前常常出现的,因为filter 顺序不正确产生的问题,不会再出现了,现在这些过滤器的位置都是预定义好的。
2.2.2.1. auto-config包含了什么?
我们在上面用到的auto-config属性,其实是下面这些配置的缩写:
<http>
<intercept-url pattern="/**" access="ROLE_USER" />
<form-login />
<anonymous />
<http-basic />
<logout />
<remember-me />
</http>
这些元素分别与form-login,匿名认证,基本认证,注销处理和remember-me 对应。 他们拥有各自的
属性,来改变他们的具体行为。
auto-config需要一个UserDetailsService
使用auto-config 的时候如果没配置UserDetailsService就会出现错误(比如,如果你使用了LDAP 认
证) 。 这是因为remember-me 服务在auto-config="true"的时候启动了, 它的认证机制需要
UserDetailsService来实现