Разница между isAuthenticated и isFullyAuthenticated
Я пытаюсь узнать безопасность spring, и у меня есть вопрос:
в чем разница между isAuthenticated и isFullyAuthenticated в spring безопасности
Ответы
Ответ 1
В документации spring -security:
isAuthenticated() Returns true if the user is not anonymous
isFullyAuthenticated() Returns true if the user is not an anonymous or a remember-me user
Так что isFullyAuthenticated() проверяет, не добавлена ли дополнительная функция spring -security 'remember-me' в дополнение к тому, что пользователь успешно прошел аутентификацию/вход в систему
Ответ 2
На самом деле, я думаю, они лучше объясняют в AuthenticatedVoter:
Текущий Authentication
будет проверен, чтобы определить, имеет ли принципал определенный уровень аутентификации.
Опция "FULLY" с аутентификацией означает, что пользователь полностью аутентифицирован (т.е. AuthenticationTrustResolver. isAnonymous (Аутентификация) falseи AuthenticationTrustResolver. isRememberMe (Аутентификация) false.
"ПОМНИТЕ" предоставит доступ, если директор был либо аутентифицирован через memor-me или полностью аутентифицирован. "ANONYMOUSLY" предоставит доступ, если принципал был аутентифицирован через помните - я, ИЛИ анонимно, ИЛИ через полную аутентификацию.
И в в этой таблице своих документов они упоминают:
isAuthenticated()
- возвращает true, если пользователь не анонимный
isFullyAuthenticated()
- возвращает true, если пользователь не является анонимным или пользователем