я работаю на веб-проекта с использованием Java
/Spring
/Apache Shiro
, есть 3 различных типов пользователей в 3-х отдельных таблиц БД, 2 пользователь входа в систему с веб-страницы , 1 пользовательский тип входа с мобильного.Apache Shiro - Как поддерживать несколько типов пользователей с отдельными таблицами базы данных
Я внедрил Realm
, который расширяет AuthorizingRealm
, но мне представляется сложным предоставить единый Restful API, позволяющий вводить 3 пользовательских типа для входа.
Моя текущая мысль:
Определение нового маркера класс, который расширяет UsernamePasswordToken
, и добавить новое поле accountType
, когда пользователь Войти первый проверить тип счета из параметров, а затем решить, какие таблицы для запроса, а также использовать комбинацию от accountType
и username
как Principal
.
Мой вопрос:
- Будет выше мысль работы? Или как я должен это улучшить?
- Как определить
loginUrl
для 3-х разных пользователей, особенно для мобильного клиента, он должен бытьjson result
, кроме URL-адреса, не так ли?