У меня есть существующий устаревший проект, который построен на основе Spring 3 и Apache Shiro для аутентификации и авторизации.Он использует область JDBC.
У нас реализована авторизация с разрешениями, назначенными полномочиям и полномочиям для пользователей.
Сценарий имеет вид:
use1: fooRole, barRole
fooRole: foo.permission.1, foo.permission.2
barRole: bar.permission.1,bar.permission.2
Мне было предложено войти в систему с "user1" и выбрать имя входа, с которой роль "user1" хочет работать.Например:
- Правильный логин user1
- выберите fooRole или barRole
- выберите fooRole и теперь работайте с "foo.permission.1, foo.permission.2"permissions.
В соответствии с архитектурой shiro в моем приложении «Тема» доступна только для чтения.И менеджер по безопасности получает информацию из моей базы данных.Я могу проверить, имеет ли субъект определенную роль или разрешение.Но как только я вошел в систему, я не вижу способа изменить роли пользователя в предмете.
Я думаю, что Apache Shiro не подходит для такой работы, и это может быть не лучшим решением,но в любом случае: у кого-нибудь из вас есть идея явно выбрать одну из назначенных ролей для работы только в Apache Shiro?
Спасибо всем за потраченное время.