Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring security不会在拦截url时重定向_Java_Authentication_Spring Security - Fatal编程技术网

Java Spring security不会在拦截url时重定向

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

我的spring-security.xml有两个spring问题

  • 当我在
    access=“role\u ADMIN,role\u EMPLOYEE”

    我得到一个例外:
    原因:java.lang.IllegalArgumentException:未能分析表达式“角色\管理员,角色\员工”

    但是如果我有一个角色:
    access=“role\u ADMIN”
    它就可以正常工作

  • 如果我直接登录到
    /Management/main/admin
    上,我将不会被规则重定向:
    安全性:表单登录登录页面=“/Management/auth/login/”
    ,这意味着我可以进入应用程序而无需角色admin

  • 这是我的spring-security.xml

    
    
    这是我的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中没有使用表达式!!成功了,谢谢