Реализация безопасности на основе ролей в приложениях EJB, JPA, JSF в JBoss

Мы планируем приложение с использованием архитектуры EJB, JPA (постоянство) и JSF (Primefaces) на JBoss EAP 6.4. В зависимости от того, как данные хранятся в базе данных или какова природа приложения, нам также необходимо использовать/внедрять безопасность на основе ролей на прикладном уровне. Мы можем создать несколько пулов подключений к БД (к одному и тому же экземпляру БД) в контейнере JBoss, и каждый JNDI связан с определенной ролью БД. Другими словами, если я использую соединение JNDI_Role1, то оно будет возвращать строки из таблицы БД в соответствии с Роль1, а если я использую соединение JNDI_Role2, то оно будет возвращать строки из той же таблицы БД в соответствии с Роль2, которые будут отличаться от Роли1 и так далее. У нас есть 4 разных роли, созданных в БД, поэтому 4 разных пула соединений JNDI в контейнере JBoss.

Теперь, могу ли я реализовать это в моем слое Persistence? Если да, то как я могу это сделать? Должен ли я создавать несколько экземпляров EntityManager, привязанных к каждому пулу соединений/JNDI? Буду очень признателен за любые предложения с образцом кода!

Заранее спасибо!!


person MJN    schedule 12.04.2017    source источник


Ответы (1)


Есть несколько ссылок, описывающих безопасность на основе ролей: см. ссылки

[1]https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6.4/html-single/Security_Guide/index.html

[2]https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/how_to_configure_server_security/

[3]https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/security_architecture/#role_based_access_control

person Anup Dey    schedule 13.04.2017