powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Security. Кастомная аутентификация
9 сообщений из 9, страница 1 из 1
Spring Security. Кастомная аутентификация
    #39277227
sklyanka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, формучане!
Пожалуйста, помогите! Не могу разобраться с задачей. Буду благодарна за любое направление :)
В бд существуют пользователи, у которых есть три статуса - 0 (не активен), 1 (активен), 2 (удален).
Каким образом реализовать аутентификацию, чтобы можно было обрабатывать все три статуса? Фильтр?
Стандартно spring обрабатывает два статуса - true/false (1/0). Как добавить третий?

Надеюсь понятно объяснила. Заранее извиняюсь за терминологию. Совсем недавно изучаю spring.
Спасибо!
...
Рейтинг: 0 / 0
Spring Security. Кастомная аутентификация
    #39277241
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sklyankaКаким образом реализовать аутентификацию, чтобы можно было обрабатывать все три статуса? Фильтр?
ну дак вы откройте хелп и любую демку не по всему спрингу, а по сабжу.
И в демке всё найдёте. Там кучас способов, в том числе и фильтр на ваше число 0-1-2
...
Рейтинг: 0 / 0
Spring Security. Кастомная аутентификация
    #39277247
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по сути нужен маппинг между {0,1,2} и {true,false}
...
Рейтинг: 0 / 0
Spring Security. Кастомная аутентификация
    #39277287
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в чем проблема взять исходный код спрингового JdbcDaoImpl (который реализует UserDetailsService) и модифицировать запрос, который будет выбирать то что надо?
...
Рейтинг: 0 / 0
Spring Security. Кастомная аутентификация
    #39277293
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaв чем проблема взять исходный код спрингового JdbcDaoImpl (который реализует UserDetailsService) и модифицировать запрос, который будет выбирать то что надо?
а, в принципе можно вообще просто поменять у него запросы и ничего не наследовать. по сути "удален" нам вообще не интересно для аутентификации, "не активен" - зависит от бизнес логики, скорее тоже не нужен
...
Рейтинг: 0 / 0
Spring Security. Кастомная аутентификация
    #39279085
sklyanka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
chpashachpashaв чем проблема взять исходный код спрингового JdbcDaoImpl (который реализует UserDetailsService) и модифицировать запрос, который будет выбирать то что надо?
а, в принципе можно вообще просто поменять у него запросы и ничего не наследовать. по сути "удален" нам вообще не интересно для аутентификации, "не активен" - зависит от бизнес логики, скорее тоже не нужен

Проблема в том, что при статусе = 2, мне нужно выводить сообщение с ссылкой на форму восстановления аккаунта. А если же статус = 0, то просто сообщение об ошибке о неправильности логина или пароля. Последнее - работает со стандартным провайдером и менеджером. Как-то так.
...
Рейтинг: 0 / 0
Spring Security. Кастомная аутентификация
    #39279124
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sklyankaПроблема в том
http://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/core/userdetails/UserDetails.html
Код: java
1.
2.
3.
4.
5.
6.
boolean isAccountNonLocked() {
  return !deleted
}
boolean isEnabled() {
  return active;
}
...
Рейтинг: 0 / 0
Spring Security. Кастомная аутентификация
    #39279127
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и в догонку
An AuthenticationManager must honour the following contract concerning exceptions:

A DisabledException must be thrown if an account is disabled and the AuthenticationManager can test for this state.
A LockedException must be thrown if an account is locked and the AuthenticationManager can test for account locking.
A BadCredentialsException must be thrown if incorrect credentials are presented. Whilst the above exceptions are optional, an AuthenticationManager must always test credentials.

Exceptions should be tested for and if applicable thrown in the order expressed above (i.e. if an account is disabled or locked, the authentication request is immediately rejected and the credentials testing process is not performed)


+

AuthenticationFailureHandler/**
* Strategy used to handle a failed authentication attempt.
* <p>
* Typical behaviour might be to redirect the user to the authentication page (in the case
* of a form login) to allow them to try again. More sophisticated logic might be
* implemented depending on the type of the exception. For example, a
* {@link CredentialsExpiredException} might cause a redirect to a web controller which
* allowed the user to change their password.
...
Рейтинг: 0 / 0
Spring Security. Кастомная аутентификация
    #39290685
sklyanka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
chpasha, большое Вам спасибо! Все получилось!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Security. Кастомная аутентификация
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]