Я хочу реорганизовать монолитное загрузочное приложение Spring, в основном веб-приложение с логином и функциями для клиентов. У нас уже есть реализация безопасности, которая работает с идентификатором сеанса, хранящимся в виде файла cookie, но я совсем не разбираюсь в этом, и я совершенно новичок в этой теме. Кажется, что JWT — лучшее решение для микросервисов из-за независимой службы аутентификации.
Итак, мои вопросы:
это много работы для создания службы аутентификации JWT и обмена реализацией идентификатора сеанса? (так как я делаю это для своей бакалаврской диссертации и у меня есть четкий срок)
могу ли я оставаться на идентификаторах сеансов при использовании микросервисов?
есть ли другие способы реализовать аутентификацию?




is it alot of work to create a JWT authentication service and exchange the session id implemenation? (since im doing it for my bachelor thesis and have a clear deadline)
На этот вопрос сложно ответить, так как это зависит от того, насколько тесно связана ваша конкретная реализация. Это конечно не тривиально.
can I stay at the session ids while using microservices?
Да, но вам нужно выяснить, как объединить сеансы между микросервисами (т. е. как получить информацию в сеансе от одного сервиса к другому). В целом, это представляет собой риск тесной связи между службами, поэтому я бы рекомендовал рассматривать это только как переходный шаг.
are there maybe other ways to implement authentication?
Столько, сколько длится день. При этом, без особых причин поступать иначе, я обычно предпочитаю придерживаться середины дороги.
Типичные пользовательские сеансы не рекомендуются в микросервисах. Следует использовать архитектуру без сохранения состояния и токены (токены хранятся в базе данных или JWT).
Лучше использовать Весенняя загрузка OAuth2.
Вы должны реализовать сервер авторизации и серверы ресурсов с помощью Spring Boot.
Сервер авторизации:
Серверы ресурсов:
ResourceServerConfigurerAdapter для защиты сопоставлений URL.Я могу помочь вам изменить механизм авторизации. Во-первых, вам следует прочитать справочник Spring Boot OAuth2.
Если вы хотите использовать обычные сеансы, используйте репликацию сеансов.tomcat.apache.org/tomcat-8.0-doc/cluster-howto.html
в данный момент весь монолит работает с пользовательскими сессиями. Моя миссия состоит в том, чтобы создать прототип одной службы и запустить ее независимо с собственной базой данных и т. д. Много ли работы, чтобы изменить весь материал авторизации/аутентификации, будучи полным новичком?