出错记录:
1.Failed to evaluate expression ‘ROLE_USER’
解决办法:
在security.xml文件中 ,对有权限的用户都设置了role
<authentication-manager><!-- 权限提供者 -->
<authentication-provider>
<!-- 可提供登陆访问的用户 -->
<user-service>
<user name="haha" password="haha" authorities="ROLE_USER,ROLE_ADMIN" />
<user name="xixi" password="xixi" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</authentication-manager>
那么在拦截的时候security2.0 以前都是用的是 ,之后改了haveRole。注意一下。
2.注意:Spring Security 3默认关闭csrf,Spring Security 4默认启动了csrf。
3. security2.x的写法:对login.jsp放行,不用保护:
<intercept-url pattern="/login.jsp" filters="none" />
spring securit 3.X新的资源放行配置方式,不受保护的资源 -->
<http pattern="/login.jsp" security="none"/>
或者
<intercept-url pattern="/populate" access="permitAll" />
指明配置文件
spring Servlet文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www