Security学习笔记1

1.Spring Security权限验证是基于filter实现的,所以首先行在web.xml文件中增加如下代码:

<filter>
  <filter-name>springSecurityFilterChain</filter-name>
  <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>springSecurityFilterChain</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

其中DelegatingFilterProxy用于代理applicationcontext.xml中定义的一个filter bean,springSecurityFilterChain是applicationcontext.xml中这个filter bean的名字,不能再使用这个名字定义其它bean,其是由security命名空间<http>配置自动生成.

2.配置<http>元素,典型配置如下:

<http auto-config="true">
        <form-login login-page="/notLogin.jsp"
           authentication-failure-url="/loginFailure.jsp"
           default-target-url="/security/security!isLogin.action" />
        <logout logout-success-url="/security/security!isLogin.action" />
        <remember-me user-service-ref="userDetailsService"/>
    </http>

其中auto-config="true"等同于

<http>
    <intercept-url pattern="/**" access="ROLE_USER" />
    <form-login />
    <anonymous />
    <http-basic />
    <logout />
    <remember-me />
  </http>
当使用auto-config="true"时同时得配置<remember-me>的UserDetailsService,如上面的代码引用一个定义好的bean.

3.通过<authentication-provider>提供自定义的验证逻辑,可以通过其子元素<password-encoder>提供密码加密,如下代码所示:

<authentication-provider user-service-ref="userDetailsService">
        <password-encoder hash="md5"/>
    </authentication-provider>

你也可以通过<password-encoder>ref属性,指定一个自定义的密码编码器bean,这个bean应该是Spring Security的PasswordEncoder接口的一个实例如下所示:

<beans:bean id="passwordEncoder" class="org.springframework.security.providers.encoding.Md5PasswordEncoder" />

4.为<authentication-manager>配置别名,当你在其它地方需要引用此bean时为其配置别名是很有必要的,此bean为自动生成的.如下

<authentication-manager alias="authenticationManager"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值