Пользовательская форма входа - Spring Security - PullRequest
1 голос
/ 29 апреля 2019

Есть ли у кого-нибудь из вас пример пользовательской формы входа в Spring Spring Security с использованием REST Api? Я на самом деле пытаюсь создать свой собственный, и проблемы, с которыми я сталкиваюсь:

Заранее благодарим за все ответы и примеры вашего кода (github или что-то).

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019

да, вы можете использовать форму входа в систему и API отдыха вместе, но это означает, что ваш API отдыха не будет без сохранения состояния, это означает, что сеанс будет создан, а API остальных, как правило, без состояния, поэтому вы должны при создании API отдыха используйте базовую аутентификацию, jwt и т. д., но если вы действительно хотите использовать API отдыха с аутентификацией на основе форм, я сделал для вас пример, проверьте эту ссылку

В этом примере используются Spring Boot, Spring MVC, H2, Spring Security с пользовательской формой входа в систему, Spring Data Jpa, но опять же не рекомендуется использовать форму входа в систему для остальных API.

По вашим вопросам

Как должны быть названы классы, это пользователь и роль? Потому что я видел много разных версий этого.

  • Это зависит от вас

Где разместить файл JSON с логином и паролем?

  • Если вы используете аутентификацию на основе форм Spring, нет необходимости публиковать json
0 голосов
/ 30 апреля 2019

API REST обычно не имеют состояния.Он не знает что-то о сеансе.Поэтому я думаю, что вы ищете базовую аутентификацию для защиты вашего API.Или вы можете использовать openid connect и проверить роли на основе токена.Это даст вам больше гибкости для обработки предварительных условий и условий после обработки служебного вызова.

Вот хороший пример openid connect с весенней загрузкой и реализацией Google.Другие провайдеры адаптируются. Baeldung - Spring Security openid connect

Если вы просто ищете простое решение с базовой аутентификацией, посмотрите здесь Baeldung - Spring Security basic auth

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