2010-08-08 11 views
7

Jaka jest różnica między ROLE_USER a ROLE_ANONYMOUS w konfiguracji adresu URL przechwytywania wiosennego, jak na przykładzie poniżej?Jaka jest różnica między ROLE_USER i ROLE_ANONYMOUS w konfiguracji Url przechwytującej wiosennej?

<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> 

Odpowiedz

13

ROLE_ANONYMOUS jest domyślnym rola przypisana do nieuwierzytelnionym (użytkownik anonimowy), gdy konfiguracja wykorzystuje Wiosna Security "anonymous authentication" filter. Jest to domyślnie włączone. Jednak prawdopodobnie jest bardziej przejrzyste, jeśli zamiast tego używasz wyrażenia isAnonymous(), które ma to samo znaczenie.

ROLE_USER nie ma znaczenia, chyba że przypisujesz tę rolę użytkownikom, gdy są uwierzytelnieni (jesteś odpowiedzialny za ładowanie ról (uprawnień) dla uwierzytelnionego użytkownika). To nie jest nazwa wbudowana w infrastrukturę Spring Security. W podanym przykładzie przypuszczalnie ta rola jest przypisana do uwierzytelnionego użytkownika.

1

ROLE_ANONYMOUS ma poświadczenia użytkownika, ROLE_USER ma poświadczenia użytkownika ... została uwierzytelniona.

to jest moja interpretacja opiera się na konfiguracji przewidzianej

Powiązane problemy