Spring 安全性:如何制作仅匿名的内容?

Spring Security: How to make anonymous-only content?

我想让我的项目中的某些页面只能由匿名用户访问(例如:/login、/signup),但由于某些原因其他角色也可以访问它们..(这让我很难受,因为另一种方式周围确实有效..)

这是我的 http 配置:

<http authentication-manager-ref="dao-auth"
    access-decision-manager-ref="accessDecisionManager" 
    disable-url-rewriting="true">
    <intercept-url pattern="/pages/usermain.html" access="USER"></intercept-url>
    <intercept-url pattern="/pages/home.html" access="USER"></intercept-url>
    <intercept-url pattern="/home" access="USER"></intercept-url>
    <intercept-url pattern="/logout" access="USER"></intercept-url>
    <intercept-url pattern="/login" access="ROLE_ANONYMOUS"></intercept-url>
    <intercept-url pattern="/denied" access="ROLE_ANONYMOUS"></intercept-url>
    <form-login login-page="/login" authentication-failure-url="/login/bad"
        default-target-url="/home" 
        login-processing-url="/authenticate" 
        username-parameter="email" password-parameter="password" />
    <logout invalidate-session="true" logout-success-url="/"
        logout-url="/logout" />
    <access-denied-handler error-page="/denied" />
    <session-management invalid-session-url="/login">
        <concurrency-control max-sessions="1"
            expired-url="/login" />
    </session-management>
</http>

谢谢!

解决了。

为了限制 ROLE_ANONYMOUS 我不得不激活 use-expressions="true" 在 http 标记中,然后将我的所有访问更改为其等效的布尔表达式(等效于仅匿名的是 access="isAnonymous()")。