2015-09-15 7 views
0

Сканирование через WSO2 документацию и несколько блогов, я обнаружил три различных типа механизмов реестра, чтобы добавить новые требования к модулю Java PIP:WSO2 Идентичность/Как зарегистрировать XACML PIP Java Расширение и его претензий

  1. Используя установочный файл с именем entitlement.properties и добавив статические свойства Java для каждой переменной, как описано в примере примера из руководства WSO2, см.: Writing a Custom Policy Info Point;

  2. Использование supportedAttributesIds.add, как описано в ссылке How to write a PIP point for WSO2 IS;

  3. При использовании метода инкубационном: public Set getSupportedIds() { Set<String> ids = new HashSet<String>(); ids.add("http://kmarket.com/id/role"); return ids; }, как описано в Stackoverflow размещать How To Add User Defined Attribute in PIP Attribute User Store

Пожалуйста проинструктировать, какой из трех вариантов является обновление и рекомендуемые решения для добавления новых полей, создаваемых с помощью поиска внешних источников данных, выполняемых банановым PIP в качестве расширения класса «AttributeFinderModule».

Я также протестировали код размещен в этом примере и скомпилирован с Java 6 JDK, см ссылку How To Add User Defined Attribute in PIP Attribute User Store источника После перезагрузки сервер WSO2 продолжает выводить на экран следующее сообщение об ошибке:

Error while loading entitlement policies. Exception occurred while trying to invoke service method getAllPolicies 
The following error details are available. Please refer logs for more details. 
org.apache.axis2.AxisFault: Exception occurred while trying to invoke service method getAllPolicies 
at org.wso2.carbon.identity.entitlement.ui.client.EntitlementPolicyAdminServiceClient.handleException(EntitlementPolicyAdminServiceClient.java:478) 
at org.wso2.carbon.identity.entitlement.ui.client.EntitlementPolicyAdminServiceClient.getAllPolicies(EntitlementPolicyAdminServiceClient.java:81) 
at org.apache.jsp.entitlement.index_jsp._jspService(org.apache.jsp.entitlement.index_jsp:183) 

при добавлении расширенного расширения Java AttributeFinder. Является ли это известной ошибкой на сервере WSO2?

+0

Вы можете также использовать диспетчер Аксиоматика Services, который позволяет делать выполнения на лету редактирования вашего PIP. Вам не нужно редактировать файл свойств, и вам не нужно перезапускать PDP –

ответ

0

Я заменил программный модуль KmarketPIPAttributeFinder на последнюю версию из репозитория источника svn (см. Ссылку ниже) и скомпилировал его. Это решило проблему в WSO2 Identity Server Version 5, и в этой процедуре начали регистрироваться атрибуты PIP, которые теперь видны в расширениях PDP.

Скачать последнюю версию кода из: https://svn.wso2.org/repos/wso2/carbon/platform/trunk/components/identity/org.wso2.carbon.identity.samples.entitlement.pip/src/main/java/org/wso2/carbon/identity/samples/entitlement/pip/KmarketPIPAttributeFinder.java

0

Первый способ конфигурируется, вам не нужно перестраивать и развертывать PIP, если вы хотите добавить новый аттрибут. Вам просто нужно добавить их в файл entitlement.properties. и перезапустить IS.

Другими двумя способами вы должны перестроить модуль PIP для каждого изменения атрибута.

Но, если вы собираетесь добавлять и атрибутировать, вы должны реализовать логику для этого, так что в этом случае и для двух последних способов также имеет смысл.

+0

После активации кода расширения PIP, следующего за примером 1. и используя строку: PIP.AttributeDesignators.Designator.2 = com.red.carbon. pip.RedAttributeFinder, в свойствах entitlement.properties, я получаю общую ошибку на движке XACML, говоря: Ошибка при загрузке политик прав. org.apache.axis2.AxisFault: Исключение произошло при попытке вызвать службу. В wso2carbon.log не было обнаружено сообщение об ошибке. Мой вопрос: Каков наилучший способ изолировать ошибки в коде PIP и его расширениях и где находится область журнала, используемая подпрограммой? –

+0

Упрощенный пример с исходным кодом, который расширяет PIPAttributeFinder, был бы очень полезен, особенно код, который был протестирован против текущей версии WSO2 IS версии 5, работающей с Balana XACML V3. Мы планируем использовать веб-службы вместо поиска ресурсов базы данных. Также сообщите о дополнительных библиотеках .jar (зависимостях), которые необходимо поместить в /репозиторий/компоненты/lib и наилучшей практике для активации и отладки регистратора. –

+0

Тестирование инструкций, приведенных в примере 3) WSOP2 PAP отображает ошибку при загрузке и импорте трех политик выборки: [kmarket-blue-policy.xml, kmarket-silver-policy.xml, kmarket-gold-polixy.xml] , показывая следующее сообщение об ошибке: Ошибка загрузки политики. Недействительная политика прав. Политика недействительна в соответствии с схемой XACML. –