Управление пользователями и единый вход через REST
Я строю веб-приложение с интерфейсом, закодированным в угловом формате. Фронтенд получит доступ к группе веб-сервисов, написанных на Java/Spring. Могут быть и другие способы доступа людей к веб-сервисам, например, из инструмента на рабочем столе. Теперь мне нужно обезопасить всю инфраструктуру.
Мне нужен способ поддерживать пользовательский репозиторий, то есть предоставлять пользователей и управлять пользователями, ролями и т. Д.:
- пользователи должны иметь возможность зарегистрироваться и проверить свою электронную почту.
- Администратор должен иметь возможность утверждать пользователей и назначать им роли, удалять пользователей, обновлять их и т. д.
Мне также нужен единый знак функциональности. Поэтому после входа в систему через веб-интерфейс вы сможете беспрепятственно получать доступ к веб-сервисам на основе REST (в зависимости от вашей роли).
Мне не нужно поддерживать миллионы пользователей, поэтому что-то легковесное будет предпочтительнее.
Я ищу решения с открытым исходным кодом, которые могут:
- разрешить управление пользователями (в идеале через API на основе REST, а также иметь свои собственные пользовательские интерфейсы)
- разрешить функцию единого входа для веб-интерфейса и веб-сервисов и, возможно, для настольных приложений, которые могут потребоваться для реализации.
Я попробовал Apache Syncope, который казался многообещающим, поскольку предоставлял API на основе REST. Я думаю об использовании его с CAS. Тем не менее, пользовательский интерфейс по умолчанию казался грязным, и CAS напрямую не поддерживает REST. Я также смотрю на Shibboleth и OpenIDM - но ни один из них не отвечает моим требованиям напрямую.
Я буду признателен за любые предложения о том, какие варианты / стек я могу рассмотреть для этого. В идеале, одно решение или хорошо интегрированное решение в стеке Java / Spring могло бы работать лучше для меня.
1 ответ
Вам следует взглянуть на https://github.com/openMF/mifosx для веб-службы Java и Springs RESTFull.
и https://github.com/openMF/community-app для веб-приложения AngularJS.
Кроме того, вы также можете найти живую демонстрационную ссылку в этом хранилище. имя пользователя - mifos, а пароль - пароль.
он предназначен для микрофинансирования, но вы можете изучить реализацию его архитектуры и использовать его основные функции, это действительно удивительно.