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

Java Spring Security允许访问,尽管有限制,java,spring,security,spring-security,Java,Spring,Security,Spring Security,我已经定义了标准的安全上下文,但它允许匿名用户访问安全的URL(例如to/itef/dashboard)。为什么会这样 <http access-denied-page="/403.jsp" use-expressions="true"> <intercept-url pattern="/**" access="hasAnyRole('ROLE_USER, ROLE_ANONYMOUS')"/> <intercept-url pat

我已经定义了标准的安全上下文,但它允许匿名用户访问安全的URL(例如to/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>

顺序很重要。从参考文件:

您可以使用多个
元素来定义不同的 不同URL集的访问要求,但它们将是 按列出的顺序计算,将使用第一个匹配项

因此,
/**
规则应该是最后一条