Spring Security允​​许访问,尽管有限制

时间:2015-01-13 23:04:57

标签: java spring security spring-security

我定义了标准的安全上下文,但即使是匿名用户也可以访问安全的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>

1 个答案:

答案 0 :(得分:1)

订单很重要。来自参考文档:

  

您可以使用多个<intercept-url>元素来定义不同的元素   访问不同URL集的要求,但它们将是   按列出的顺序进行评估,并使用第一场比赛。

因此/**规则应该是最后一个。