Как настроить роли приложения Jboss EAP 7.1 для групп LDAP - PullRequest
0 голосов
/ 19 октября 2019

Кто-нибудь знает, возможно ли сопоставить ваши группы LDAP с разными именами ролей в JBoss EAP 7.x.

Допустим, у меня есть группа с именем "G_Administrators" в моем хранилище LDAP, но я хочуиспользовать роль с именем «app-admin» в моих развернутых приложениях. Все пользователи в группе «G_Administrators» должны быть сопоставлены с «app-admin» в целях безопасности J2EE

Вот как выглядит web.xml моего приложения:

<security-role>
    <role-name>admin</role-name>
 </security-role>

 <security-constraint>
        <web-resource-collection>
          <web-resource-name>console</web-resource-name>
          <url-pattern>/kie-drools-wb.jsp</url-pattern>
          <url-pattern>/org.kie.workbench.drools.KIEDroolsWebapp/*</url-pattern>
          <url-pattern>*.erraiBus</url-pattern>
          <url-pattern>/resourceList</url-pattern>
          <url-pattern>/editor</url-pattern>
          <url-pattern>/editor/*</url-pattern>
          <url-pattern>/menuconnector/*</url-pattern>
          <url-pattern>/menu/*</url-pattern>
          <url-pattern>/uuidRepository</url-pattern>
          <url-pattern>/transformer</url-pattern>
          <url-pattern>/assetservice</url-pattern>
          <url-pattern>/filestore</url-pattern>
          <url-pattern>/dictionary</url-pattern>
          <url-pattern>/themes</url-pattern>
          <url-pattern>/customeditors</url-pattern>
          <url-pattern>/simulation</url-pattern>
          <url-pattern>/formwidget</url-pattern>
          <url-pattern>/calledelement</url-pattern>
          <url-pattern>/stencilpatterns</url-pattern>
          <url-pattern>/jbpmservicerepo</url-pattern>
          <url-pattern>/processdiff</url-pattern>
          <url-pattern>/taskforms</url-pattern>
          <url-pattern>/taskformseditor</url-pattern>
          <url-pattern>/processinfo</url-pattern>
          <url-pattern>/syntaxcheck</url-pattern>
          <url-pattern>/plugins</url-pattern>
          <url-pattern>/plugin</url-pattern>
          <url-pattern>/plugin/*</url-pattern>
          <url-pattern>/stencilset/*</url-pattern>
          <url-pattern>/plugins/*</url-pattern>
          <url-pattern>/verifier/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
          <role-name>admin</role-name>
          <role-name>analyst</role-name>
        </auth-constraint>
      </security-constraint>


Standalone.xml 







   <login-module code="org.jboss.security.auth.spi.RoleMappingLoginModule" flag="optional">                         <module-option name="rolesProperties" value="file://${jboss.server.config.dir}/ldap-role-mappings.properties"/>
                                    <module-option name="replaceRole" value ="false"/>  
                                </login-module>

                                <login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" flag="required">
                                    <module-option name="java.naming.provider.url" value="ldap://someLDAPDomain:xxx"/> 
                                    <module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
                                    <module-option name="java.naming.security.authentication" value="simple"/>
                                    <module-option name="bindDN" value="dc=xx,dc=yy,dc=org"/>   
                                    <module-option name="bindCredential" value="secret"/>

                                    <module-option name="baseCtxDN" value="CN=user1,OU=Extranet,OU=xxx,dc=org"/>
                                    <module-option name="baseFilter" value="sAMAccountName={0}"/>
                                    <module-option name="rolesCtxDN" value="CN=group1,dc=org"/>     
                                    <module-option name="roleFilter" value="sAMAccountName={1}"/>
                                    <module-option name="roleAttributeID" value="memberOf"/>
                                    <module-option name="roleNameAttributeID" value="cn"/>
                                    <module-option name="roleAttributeIsDN" value="true"/>
                                    <module-option name="roleRecursion" value="1"/>
                                    <module-option name="searchScope" value="SUBTREE_SCOPE"/>
                                    <module-option name="allowEmpty`enter code here`Passwords" value="false"/>
                                </login-module>
...