Подтвердить что ты не робот

Разница между isAuthenticated и isFullyAuthenticated

Я пытаюсь узнать безопасность spring, и у меня есть вопрос: в чем разница между isAuthenticated и isFullyAuthenticated в spring безопасности

4b9b3361

Ответ 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, если пользователь не является анонимным или пользователем