【问题标题】:Spring Security allowes access despite of restrictions尽管有限制,Spring Security 仍允许访问
【发布时间】:2015-03-12 01:24:12
【问题描述】:

我定义了标准的安全上下文,但它甚至允许匿名用户访问安全 URL(例如到 /itef/dashboard)。为什么会这样?

<http access-denied-page="/403.jsp"  use-expressions="true">
        <intercept-url pattern="/**" access="hasAnyRole('ROLE_USER, ROLE_ANONYMOUS')"/>
        <intercept-url pattern="/itef/**" access="hasAnyRole('ROLE_USER, ROLE_ADMIN')"/>
        <intercept-url pattern="/admin**" access="hasRole('ROLE_ADMIN')"/>

        <form-login login-page="/"
                    default-target-url="/itef/dashboard"
                    always-use-default-target="true"
                    authentication-failure-url="/index?loginError"
                    username-parameter="username"
                    password-parameter="password" />

        <logout logout-url="/logout" logout-success-url="/index?logout" invalidate-session="true"/>
        <anonymous username="guest" granted-authority="ROLE_ANONYMOUS"/>
        <remember-me/>
    </http>

【问题讨论】:

    标签: java spring security spring-security


    【解决方案1】:

    顺序很重要。来自参考文档:

    您可以使用多个&lt;intercept-url&gt; 元素来定义不同的 不同 URL 集的访问要求,但它们将是 按照列出的顺序进行评估,将使用第一个匹配项。

    所以/** 规则应该放在最后。

    【讨论】:

      猜你喜欢
      • 2015-10-09
      • 2014-09-02
      • 2019-07-21
      • 2021-05-21
      • 1970-01-01
      • 2013-06-05
      • 1970-01-01
      • 2020-05-10
      • 2013-06-07
      相关资源
      最近更新 更多