2016-02-05 11 views
2

Нашего текущее приложение использует технологию/JSF JPA и развернуто на Weblogic 12.1.2 и делает следующее:Weblogic 12 - Изменение контекстных ролей для отображения группы в развернутом приложении

  1. Идентифицирует пользователь через IDP
  2. ВПЛ после аутентификации пользователя отправляет обратно Группа пользователя принадлежит
  3. Использования web.xml и weblogic.xml отобразит группу роли

Нашего Применение Scoped ро ле очень зернистый, и это помогает нам сделать следующий:

  1. страницы или компоненты Скрыть пользовательский интерфейс на интерфейсе
  2. использования RolesAllowed аннотации методов

С Группой Роли отображения в weblogic.xml, наши пользователи приложения не могут изменять группы для сопоставления ролей, и это проблема, которую я должен решить.

Моя цель состоит в том, чтобы сделать следующее:

  1. аутентифицировать пользователя через нашу IDP
  2. ВПЛ будет посылать нам пользователь Группы принадлежит
  3. Определить роли в web.xml
  4. Определите таблицы, которые наше приложение будет читать, чтобы найти сопоставление групп для ролей
  5. Использовать API-интерфейс Weblogic для сопоставления групп для ролей
  6. Создать Пользовательский интерфейс, позволяющий нашим пользователям изменять отображение группы в ролях

Проблема, с которой я сталкиваюсь, заключается в том, что я не могу найти, как динамически группировать карты для сопоставления ролей с помощью WebLogic, поскольку я не могу получить доступ к API WebLogic, который позволит мне изменить групповое сопоставление ролей в моем развернутом приложении. Кто-нибудь делал это раньше?

Я рассмотрел создание настраиваемого адаптера ролей, но я не уверен, как получить дескриптор этого настраиваемого ролевого сопоставления в нашем развернутом приложении.

+0

этот поток http://stackoverflow.com/questions/9082208/programmatically-add-roles-after-authentication отвечает на мой вопрос, но для сервера приложений GlassFish. Мне нужно то же самое для WebLogic – kali

ответ

0

Не очень конкретный ответ, но это может быть сделано с помощью Weblogic конкретного решения.

Смотрите примеры в: https://docs.oracle.com/cd/E13212_01/wles/docs42/dvspisec/examples.html

Вы должны реализовать метод getRoles:

import weblogic.security.spi.RoleMapper; 
import weblogic.security.spi.RoleProvider; 

public final class MyRoleMapperProviderImpl implements RoleProvider, RoleMapper 
{ 
    public Map getRoles(Subject subject, Resource resource, 
     ContextHandler handler) 
    { 
     ... 
    } 
} 

Вы можете сгенерировать MBean для него, а также установить автоматическую загрузку: https://docs.oracle.com/middleware/1213/wls/DEVSP/generate_mbeantype.htm#DEVSP617

java -DMDF=xmlfile -Dfiles=filesdir -DcreateStubs=true 
weblogic.management.commo.WebLogicMBeanMaker 

Результат может быть добавлен как банка к пути класса сервера, а реализация доступно при запуске сервера.

 Смежные вопросы

  • Нет связанных вопросов^_^