Реализация редактора XACML на основе существующего редактора XML в качестве плагина - PullRequest
1 голос
/ 16 июня 2011

Вот что я думал об этом утре:

Мне нужно определить множество политик XACML (которые являются приложениями XML) на данный момент. До сих пор я использовал XML-редактор, поставляемый с Eclipse, и определил некоторые шаблоны, чтобы упростить процесс. Это работает довольно хорошо, но некоторые вещи могут быть улучшены:

  • было бы неплохо, если бы помощник по контенту предлагал только шаблоны, которые действительно разрешены в тот момент, когда я хочу их вставить
  • еще одна полезная функция - иметь список допустимых значений атрибутов, когда я "вкладываю" в заполнитель, определенный в шаблоне

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

Ответы [ 2 ]

2 голосов
/ 17 августа 2011

WSO2 Identity Server - это механизм предоставления прав с открытым исходным кодом, основанный на sunxacml.WSO2 Identity Server содержит хороший редактор политик пользовательского интерфейса XACML, который можно легко использовать для создания сложных политик XACML. Я думаю, что лучше попробовать его самостоятельно.Пользователь не хочет иметь много знаний о XACML для определения этих политик.Но все же вы хотите определить значения атрибутов вручную.Также он имеет слой PIP, чтобы подключить к нему любой модуль поиска атрибутов.Поэтому вы можете найти свой атрибут в любой базе данных, хранилище пользователей LDAP, веб-службах и многом другом ... Кроме того, для повышения производительности есть кэширование решений, кэширование политик и атрибутов уровня PIP.Вы можете скачать WSO2 Identity Server с http://wso2.org/ и ссылаться на исходный код реализации с https://svn.wso2.org/repos/wso2/trunk/carbon/components/identity/

0 голосов
/ 10 октября 2014

Вы также можете рассмотреть плагин ALFA для Eclipse, который является бесплатным плагином. Он отходит от XML-нотации XACML и использует язык псевдокода ALFA (Axiomatics Language for Authorization). ALFA легче понять, прочитать и написать. Вот пример:

    /**
     * A user can edit a document he/she owns
     */
    policy editDoc{
        target clause actionId=="edit" and resourceType=="document"
        apply firstApplicable
        rule ownersCanEdit{             
            permit
            condition document.owner==user.userId
        }
    }

Вы можете бесплатно скачать плагин с здесь .

...