Spring Security: разница между ROLE_ANONYMOUS и IS_AUTHENTICATED_ANONYMOUSLY - PullRequest
11 голосов
/ 30 марта 2011

В Spring Security В чем разница между ROLE_ANONYMOUS и IS_AUTHENTICATED_ANONYMOUSLY.

Другими словами, чем отличаются RoleVoter и AuthenticatedVoter?

1 Ответ

10 голосов
/ 30 марта 2011

Из соответствующего раздела в документации по безопасности пружин ,

Вы часто будете видеть ROLE_ANONYMOUS атрибут в вышеупомянутом перехватчике конфигурация заменена на IS_AUTHENTICATED_ANONYMOUSLY, что фактически то же самое, когда определение контроля доступа. Это пример использования AuthenticatedVoter, который мы увидим в главе авторизации. Оно использует AuthenticationTrustResolver для обработать эту конкретную конфигурацию приписать и предоставить доступ к анонимные пользователи. AuthenticatedVoter подход больше мощный, так как он позволяет различать анонимных, запомни меня и полностью аутентифицирован пользователи. Если вам это не нужно функциональность, тогда вы можете придерживаться ROLE_ANONYMOUS, который будет будет обработан Spring Security's стандартный RoleVoter.

Кроме того, из комментария Люка по теме jira ,

Проблема анонимного доступа частично исторические. Анонимные токены были введен изначально (т.е. ROLE_ANONYMOUS), который позволит вам использовать «безопасный по умолчанию» конфигурации с конкретными исключения. На более позднем этапе AuthenticatedVoter был представлен позволяют различать разные уровни аутентификации - анонимный, помни меня и полностью аутентифицирован (т.е. авторизован во время текущей сессии). Я добавил лишний бит анониму глава, чтобы объяснить, что они являются то же самое, если вам не требуется дополнительная функциональность, предлагаемая AuthenticatedVoter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...