0

Я работаю в рамках проекта BRMS в финансовом секторе. Использование Drools Guvnor 5.5.0.Final с сервером jboss-as-7.2.0.Alpha1-SNAPSHOT. Я настроил страницу входа в guvnor с помощью jaas успешно. Теперь мне нужна роль «Разрешение на основе». Но еще не удалось реализовать его. Бобы, XML являетсяНе удалось дать разрешение на основе роли в drools guvnor с помощью jboss AS 7

<security:IdentityImpl> 
    <s:modifies/> 

    <!-- No real authentication: demo authentication for demo purposes --> 
    <!--<security:authenticatorClass>org.drools.guvnor.server.security.DemoAuthenticator</security:authenticatorClass>--> 

    <!-- JAAS based authentication --> 
    <security:authenticatorName>jaasAuthenticator</security:authenticatorName> 

    <!-- IDM based authentication (supports LDAP, see Seam 3 and PicketLink IDM documentation) --> 
    <!--<security:authenticatorClass>org.jboss.seam.security.management.IdmAuthenticator</security:authenticator>--> 
    </security:IdentityImpl> 

    <security:jaas.JaasAuthenticator> 
    <s:modifies/> 
    <!-- 
     The following one will use the jaas configuration called "other", 
     which in jboss AS means you can use properties files for users. 
    --> 
    <s:jaasConfigName>other</s:jaasConfigName> 
    </security:jaas.JaasAuthenticator> 


    <!-- SECURITY AUTHORIZATION CONFIGURATION --> 
    <!-- 
     This is used to enable or disable role-based authorization. By default it is disabled. 
    --> 
    <component name="org.jboss.seam.security.permission.PermissionResolver"> 
     <property name="enableRoleBasedAuthorization">true</property> 
     </component> 

И standalone.xml является

<security-domain name="other" cache-type="default"> 
        <authentication> 
         <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag="required"> 
          <module-option name="usersProperties" value="${jboss.server.config.dir}/users.properties"/> 
          <module-option name="rolesProperties" value="${jboss.server.config.dir}/roles.properties"/> 
          <module-option name="defaultUsersProperties" value="${jboss.server.config.dir}/users.properties"/> 
          <module-option name="defaultRolesProperties" value="${jboss.server.config.dir}/roles.properties"/> 
          <module-option name="password-stacking" value="useFirstPass"/> 
         </login-module> 
        </authentication> 
       </security-domain> 

Я не знаю, что мне не хватает. Может ли кто-нибудь предложить мне то же самое. Заранее спасибо

ответ

0

Решение проблемы. Проблема заключалась в одном из файлов классов шва и конфигурации beans.xml

+0

Hi, R.K.R. У меня есть коллега, который заинтересован в вашем решении. Можете ли вы объяснить, какие изменения в шве и в beans.xml вы должны были сделать? Возможно, детали помогут ему. И другие, я полагаю. Благодарю. –

0

В моем случае для получения Drools Guvnor 5.5.0 были необходимы три конкретных изменения Drools. Работа с JBoss EAP 6 (основанная на AS 7.1 и должен перевести на AS 7.2): исправить XML, заменить защиту шва и исправить файл Guvnor.

В beans.xml тег jaasConfigName не указывает пространство имен и вызывает ошибку. Исправьте это, изменив jaasConfigName на security:jaasConfigName.

<security:jaas.JaasAuthenticator> 
    <s:modifies/> 
    <!-- 
    The following one will use the jaas configuration called "other", 
    which in jboss AS means you can use properties files for users. 
    --> 
    <security:jaasConfigName>other</security:jaasConfigName> 
</security:jaas.JaasAuthenticator> 

В версии Seam Security, используемой Guvnor, содержится ошибка. Чтобы исправить это, измените Guvnor WAR: замените seam-security-3.1.0.Final.jar на seam-security-3.2.0.Final.jar и seam-security-api-3.1.0.Final.jar на seam-security-api-3.2.0.Final.jar.

Класс безопасности Guvnor's SecurityServiceImpl содержит ошибку. Чтобы это исправить, патч и перекомпилировать класс как на http://drools.46999.n3.nabble.com/How-configure-Guvnor-5-4-JAAS-with-jboss-7-0-2-tp4020424p4020854.html

Обратите внимание, что ошибки Шов безопасности и SecurityServiceImpl были решены на 5.5.x ветвь дяденька на GitHub (https://github.com/droolsjbpm/guvnor/tree/5.5.x), поэтому самое простое решение для этих проблем может быть скачать и построить последнюю версию. (Это то, что я сделал.)

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

См https://community.jboss.org/thread/206645, https://issues.jboss.org/browse/GUVNOR-1989, https://issues.jboss.org/browse/GUVNOR-1976, http://drools.46999.n3.nabble.com/How-configure-Guvnor-5-4-JAAS-with-jboss-7-0-2-td4020424.html и http://drools.46999.n3.nabble.com/rules-users-Error-JAAS-Authentication-with-Guvnor-5-5-0-and-Authorization-Error-tt4023826.html для фоновой информации.