Qual é a diferença entre Role_user e Role_anonymous em uma configuração de URL de interceptação da primavera?

StackOverflow https://stackoverflow.com/questions/3435824

Pergunta

Qual é a diferença entre Role_User e Role_anonymous em uma configuração de URL de interceptação de primavera, como o exemplo abaixo?

<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>
Foi útil?

Solução

Role_anonymous é a função padrão atribuída a um usuário não autenticado (anônimo) quando uma configuração usa a Spring Security's filtro "autenticação anônima" . Isso é ativado por padrão. No entanto, provavelmente é mais claro se você usar a expressão isanonymous () Em vez disso, que tem o mesmo significado.

O Role_User não tem significado, a menos que você atribua essa função aos seus usuários quando eles são autenticados (você é responsável por carregar as funções (autoridades) para um usuário autenticado). Não é um nome incorporado à infraestrutura da Spring Security. No exemplo dado, presumivelmente essa função é atribuída a um usuário autenticado.

Outras dicas

Role_anonymous não possui credenciais de usuário, o Role_User possui credenciais de usuário ... foi autenticado.

Esta é minha interpretação com base na configuração fornecida

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top