2010-08-08 3 views
7

Was ist der Unterschied zwischen ROLE_USER und ROLE_ANONYMOUS in einer Spring Intercept URL-Konfiguration, wie im folgenden Beispiel?Was ist der Unterschied zwischen ROLE_USER und ROLE_ANONYMOUS in einer Spring Intercept URL-Konfiguration?

<http auto-config="false" access-decision-manager-ref="accessDecisionManager" 
    use-expressions="true"> 
    <intercept-url pattern="/admin/**" access="hasRole('ROLE_ANONYMOUS')" 
     requires-channel="http" /> 
    <intercept-url pattern="/login/**" access="hasRole('ROLE_ANONYMOUS')" 
     requires-channel="${application.secureChannel}" /> 
    <intercept-url pattern="/error/**" access="hasRole('ROLE_ANONYMOUS')" 
     requires-channel="http" /> 
    <intercept-url pattern="/register/**" access="hasRole('ROLE_ANONYMOUS')" 
     requires-channel="${application.secureChannel}" /> 
    <intercept-url pattern="/" access="hasRole('ROLE_ANONYMOUS')" 
     requires-channel="http" /> 
    <intercept-url pattern="/**" access="hasRole('ROLE_USER')" 
     requires-channel="http" /> 
    <form-login login-page="/login" login-processing-url="/login/submit" 
     authentication-failure-url="/login/error" /> 
    <logout logout-url="/logout" /> 
</http> 

Antwort

13

ROLE_ANONYMOUS ist die Standardrolle zugewiesen einen nicht authentifiziert (anonymen) Benutzer basierte, wenn eine Konfiguration Spring verwendet Security "anonymous authentication" filter. Dies ist standardmäßig aktiviert. Es ist jedoch wahrscheinlich klarer, wenn Sie stattdessen den Ausdruck isAnonymous() verwenden, der die gleiche Bedeutung hat.

ROLE_USER hat keine Bedeutung, es sei denn, Sie weisen diese Rolle Ihren Benutzern zu, wenn sie authentifiziert sind (Sie müssen die Rollen (Behörden) für einen authentifizierten Benutzer laden). Es ist kein Name, der in die Infrastruktur von Spring Security integriert ist. In dem angegebenen Beispiel wird diese Rolle vermutlich einem authentifizierten Benutzer zugewiesen.

1

ROLE_ANONYMOUS keine Benutzerdaten hat, hat ROLE_USER Benutzer-Credentials ... authentifiziert wurde.

diese meine Interpretation von der Konfiguration zur Verfügung gestellt

Verwandte Themen