Концепция безопасности Java EE
Мне нужно создать приложение с authentication
а также authorization
используя Java EE 6 (сервер Glassfish). Я много читал о безопасности Java EE 6 и просто хотел спросить, верна ли моя концепция:
Каждый пользователь в компании имеет учетную запись в соответствии с "X123456"
, Я хочу использовать это для LDAP Authentication
:
Приложение ---> LDAP
Таким образом, я могу использовать инфраструктуру компании для авторизации пользователя.
Однако я хочу контролировать роли в моем приложении. Итак, я хочу определить свои собственные роли, используя JACC
, Поэтому я создам базу данных с отображением роли пользователя,
Example
: "X123456 -> ADMIN".
Преимущества будут:
- Мне не нужно хранить пароль
- Я могу создать своего рода панель администратора в своем приложении, где я могу динамически устанавливать существующие роли для пользователей.
Как вы думаете, это будет технически возможно и хорошая практика?
Альтернатива: возможно ли определить роли (Admin, User) в Active Directory и запросить их через LDAP? Таким образом, я мог бы перенести свое сопоставление пользователя с ролью в активный каталог.
Обновить:
- В настоящее время для аутентификации я использую LDAP-Realm (пользователь, пароль).
- Для авторизации я хочу использовать базу данных (rolename, user). Однако я не знаю, как сказать моему приложению использовать базу данных для авторизации. Если бы я использовал JDBC-Realm, я мог бы указать таблицу и столбец группы / роли. Есть ли способ указать моему приложению просто использовать JDBC-Realm для авторизации?