Подключение Ldap-сервера с Wildfly

Я новичок в Wildfly и LDAP. У меня есть сервер wildfly (версия 9.0.2), на котором запущено веб-приложение, и я хотел бы разрешить вход пользователя в это веб-приложение с использованием учетных данных из учетных записей ldap.

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

Пока что я сделал это:

Добавлен в файл standalone.xml

 <security-realm name="ApplicationRealm">
   <authentication>
       <ldap connection="LocalLdap" base-dn="ou=cloudera,dc=hadoop,dc=com">
                    <username-filter attribute="uid"/>
       </ldap>
  </authentication>
 </security-realm>
</security-realms>
<outbound-connections>
     <ldap name="LocalLdap" url="ldap://ldap_server_url:389" search-dn="Manager,dc=hadoop,dc=com" search-credential="admin"/>
</outbound-connections>

А также:

<security-domain name="LDAPAuth">
   <authentication>
        <login-module code="LdapExtended" flag="required">
                       <module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
                        <module-option name="java.naming.provider.url" value="ldap://ldap_server_url:389"/>
                        <module-option name="java.naming.security.authentication" value="simple"/>
                        <module-option name="bindDN" value="cn=Manager,dc=hadoop,dc=com"/>
                        <module-option name="bindCredential" value="admin"/>
                        <module-option name="baseCtxDN" value="ou=cloudera,dc=hadoop,dc=com"/>
                        <module-option name="baseFilter" value="(uid={0})"/>
                        <module-option name="rolesCtxDN" value="ou=cloudera,dc=hadoop,dc=com"/>
                        <module-option name="roleFilter" value="objectClass=posixGroup"/>
                        <module-option name="roleAttributeID" value="cn"/>
                        <module-option name="searchScope" value="SUBTREE_SCOPE"/>
                        <module-option name="allowEmptyPasswords" value="true"/>
                    </login-module>
                </authentication>
            </security-domain>

А также:

 <default-security-domain value="LDAPAuth"/>

К файлу web.xml в веб-приложении:

<security-constraint>
<web-resource-collection>
    <web-resource-name>HtmlAuth</web-resource-name>
    <description>application security constraints</description>
    <url-pattern>/*</url-pattern>
    <http-method>GET</http-method>
    <http-method>POST</http-method>
</web-resource-collection>
   <auth-constraint>
      <role-name>*</role-name>
   </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>ApplicationRealm</realm-name>
</login-config>
<security-role>
    <role-name>*</role-name>
</security-role>

Для jboss-web.xml

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
    <security-domain>LDAPAuth</security-domain>
    <use-jboss-authorization>true</use-jboss-authorization>
</jboss-web>

Должен ли я настроить клиент ldap, который указывает на сервер на сервере wildfly, а затем указывает его локально? Спасибо

0 ответов

Другие вопросы по тегам