Интеграция LDAP с приложением (Jasper на tomcat) - PullRequest
0 голосов
/ 20 сентября 2019

Я работаю над интеграцией моего приложения для отчетов с LDAP, я изменил несколько bean-компонентов в applicationContext-externalAuth-LDAP.xml согласно документации

1) ldapContextSource

<bean id="ldapContextSource" class="com.jaspersoft.jasperserver.api.security.externalAuth.ldap.JSLdapContextSource">
        <constructor-arg value="ldap://url.ldap.com:3268/DC=main,DC=com"/>
        <!-- manager user name and password (may not be needed)  -->
        <property name="userDn" value="CN=Account Name,OU=Support User Account,DC=main,DC=com"/>
        <property name="password" value="123xyz"/>
</bean>

2) userSearch bean

    <bean id="userSearch"
          class="com.jaspersoft.jasperserver.api.security.externalAuth.wrappers.spring.ldap.JSFilterBasedLdapUserSearch">
        <constructor-arg index="0">
            <value>(&amp;(|(objectClass=contact)(objectClass=user))(objectCategory=person)(cn={0})(|(memberOf=CN=VPN-Access,CN=Users,DC=Main,DC=com)(memberOf=CN=All,CN=Disto,CN=Users,DC=main,DC=com)))</value>
        </constructor-arg>
        <constructor-arg index="1">
            <value>(&amp;(sAMAccountName={0}))</value>
        </constructor-arg>
        <constructor-arg index="2">
            <ref local="ldapContextSource" />
        </constructor-arg>
        <property name="searchSubtree">
            <value>true</value>
        </property>
    </bean>

Я протестировал вышеупомянутое соединение строки поиска, используя jexplorer, и оно успешно восстановило моих пользователей.

Ошибка, возникающая при развертывании этого приложения в моем приложении.Будем весьма благодарны за любые идеи относительно основной причины этого или решения:

org.springframework.security.authentication.InternalAuthenticationServiceException: Failed to parse DN; nested exception is org.springframework.ldap.core.TokenMgrError: Lexical error at line 1, column 1.  Encountered: "(" (40), after : ""
Caused by: org.springframework.ldap.BadLdapGrammarException: Failed to parse DN; nested exception is org.springframework.ldap.core.TokenMgrError: Lexical error at line 1, column 1.  Encountered: "(" (40), after : ""
Caused by: org.springframework.ldap.core.TokenMgrError: Lexical error at line 1, column 1.  Encountered: "(" (40), after : ""```
...