Was ist der Unterschied zwischen ROLE_USER und ROLE_ANONYMOUS in einer Frühlings-Intercept-URL-Konfiguration?
-
26-09-2019 - |
Frage
Was ist der Unterschied zwischen ROLE_USER und ROLE_ANONYMOUS in einem Frühlings-Intercept-URL-Konfiguration wie das Beispiel unten?
<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>
Lösung
ROLE_ANONYMOUS ist die Standardrolle auf einen nicht authentifiziert (anonymen) Benutzer zugewiesen, wenn eine Konfiguration verwendet Spring Security ist "anonyme Authentifizierung" Filter . Dies ist standardmäßig aktiviert. Es ist jedoch wahrscheinlich klarer, wenn Sie den Ausdruck isAnonymous () statt, die die gleiche Bedeutung hat.
hat ROLE_USER keine Bedeutung, wenn Sie diese Rolle an die Benutzer zuweisen, wenn sie authentifiziert sind (Sie sind verantwortlich für die Rollen zu laden (Behörden) für einen authentifizierten Benutzer). Es ist nicht ein Name, der in Spring Security-Infrastruktur aufgebaut wird. In dem gegebenen Beispiel, vermutlich diese Rolle ist mit einem authentifizierten Benutzer zugeordnet.
Andere Tipps
ROLE_ANONYMOUS hat kein Benutzer-Credentials, ROLE_USER Benutzer-Credentials hat ... authentifiziert wurde.
das ist meine Interpretation basiert auf der Konfiguration zur Verfügung gestellt