上一篇:【认证、授权攻略三(3)、spring security核心类】
spring-security.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:security="http://www.springframework.org/schema/security"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security.xsd">
<!-- 指定安全性为none,不走权限控制的过滤器链 -->
<security:http security="none" pattern="/login.jsp"/>
<security:http security="none" pattern="/error.jsp"/>
<security:http security="none" pattern="/error1.jsp"/>
<!-- http定义web相关权限控制的 -->
<security:http auto-config="true" use-expressions="true">
<!-- 定义权限控制的规则 -->
<!-- <security:intercept-url pattern="/**" access="hasRole('ROLE_USER')"/> -->
<!-- <security:intercept-url pattern="/**" access="hasAnyRole('ROLE_USER', 'ROLE_ADMIN')"/> -->
<security:intercept-url pattern="/**" access="hasRole('ROLE_USER') or hasRole('ROLE_ADMIN')"/>
<!-- 指定ANONYMOUS匿名用户可以访问,无需登录 -->
<!-- <security:intercept-url pattern="/login.jsp" access="hasRole('ROLE_ANONYMOUS')"/> -->
<!-- 支持弹窗进行认证,和form-login同时存在则只会调用form-login的配置,form-login优先级高 -->
<!-- <security:http-basic/> -->
<!-- 自定义登录页面 -->
<security:form-login login-page="/login.jsp"
username-parameter="username"
password-parameter="password"
login-processing-url="/login"
default-target-url="/index.jsp"
always-use-default-target="true"
authentication-success-handler-ref="authenticationSuccessHandlerImpl"
authentication-failure-url="/error.jsp"
authentication-failure-handler-ref="authenticationFailureHandlerImpl"/>
<!-- 必须配置,否则自定义登录页/login.jsp提交login会有403错误 -->
<security:csrf disabled="true"/>
</security:http>
<!-- 测试,用户信息保存在内存中 -->