Java Spring security不会在拦截url时重定向
我的spring-security.xml有两个spring问题Java Spring security不会在拦截url时重定向,java,authentication,spring-security,Java,Authentication,Spring Security,我的spring-security.xml有两个spring问题 当我在access=“role\u ADMIN,role\u EMPLOYEE” 我得到一个例外: 原因:java.lang.IllegalArgumentException:未能分析表达式“角色\管理员,角色\员工” 但是如果我有一个角色:access=“role\u ADMIN”它就可以正常工作 如果我直接登录到/Management/main/admin上,我将不会被规则重定向:安全性:表单登录登录页面=“/Manageme
access=“role\u ADMIN,role\u EMPLOYEE”
我得到一个例外:
原因:java.lang.IllegalArgumentException:未能分析表达式“角色\管理员,角色\员工”
但是如果我有一个角色:
access=“role\u ADMIN”
它就可以正常工作/Management/main/admin
上,我将不会被规则重定向:安全性:表单登录登录页面=“/Management/auth/login/”
,这意味着我可以进入应用程序而无需角色admin
这是我的web.xml
springSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
springSecurityFilterChain
/*
上下文配置位置
/WEB-INF/spring-security.xml
/WEB-INF/applicationContext.xml
log4jConfigLocation
/WEB-INF/classes/log4j-myapp.properties
春天
org.springframework.web.servlet.DispatcherServlet
1.
春天
/管理层/*
org.springframework.web.context.ContextLoaderListener
您正在使用使用表达式=true
您必须在截取url中使用SpEL,如下所示:
<security:http auto-config="true" use-expressions="true" access-denied-page="/krams/auth/denied" >
<security:intercept-url pattern="/krams/auth/login" access="permitAll"/>
<security:intercept-url pattern="/krams/main/admin" access="hasRole('ROLE_ADMIN')"/>
<security:intercept-url pattern="/krams/main/common" access="hasRole('ROLE_USER')"/>
....
</security:http>
....
要查看此操作,请访问以下教程:
您可能还想查看一些有关本机表达式的信息:您的web.xml中映射了springSecurityFilterChain筛选器url,对吗?我已将我的web.xml添加到帖子中,我已将use expressions设置为false。谢谢use expressions默认值是否为true?我的xml中没有使用表达式!!成功了,谢谢