В чем разница между ROOR_USER и ROLE_ANONYUS в конфигурации URL-URL-адреса пружины?

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

Вопрос

В чем разница между ROOR_USER и ROLE_ANONYUS в конфигурации URL-адреса пружины, такая как пример ниже?

<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>
Это было полезно?

Решение

ROLE_ANONYUS - это роль по умолчанию, назначенной неаутентифицированным (анонимным) пользователем, когда конфигурация использует пружинную безопасность «Анонимный аутентификация» фильтр . Отказ Это включено по умолчанию. Тем не менее, это, вероятно, более понятнее, если вы используете выражение ИЗАноним () вместо этого, который имеет то же значение.

ROLE_USER не имеет смысла, если вы не назначаете эту роль своим пользователям, когда они аутентифицированы (вы отвечаете за загрузку ролей (власти) для аутентифицированного пользователя). Это не имя, которое встроено в инфраструктуру Spring Security. В данном примере, по-видимому, эта роль назначается аутентифицированному пользователю.

Другие советы

ROLE_ANONIMOUS не имеет пользовательских учетных данных, ROLE_USER имеет учетные данные пользователя ... был аутентифицирован.

Это моя интерпретация на основе предоставленной конфигурации

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top