使用活动目录验证 JasperServer 6.3 不工作

Authenticating JasperServer 6.3 with active directory not WORKING

我正在尝试使用 ActiveDirectory 对 JasperServer 进行身份验证,但由于某种原因仍然无法正常工作:

这是我的配置:

1.第 1 步:访问 AD 服务器的参数:

   <bean id="ldapContextSource" class="com.jaspersoft.jasperserver.api.security.externalAuth.ldap.JSLdapContextSource">
        <constructor-arg value="ldap://192.10.0.190:389/dc=sifast,dc=infra"/>
        <!-- manager user name and password (may not be needed)  -->
        <property name="userDn" value="CN=recherche,CN=Users,DC=sifast,DC=infra"/>
        <property name="password" value="*******"/>
        <property name="referral">
            <value>follow</value>
        </property>
    </bean>

2.STEP 2:"userDnPatterns"内的访问配置: 在这里我想使用已经输入的登录名访问

   <bean id="ldapAuthenticationProvider" class="com.jaspersoft.jasperserver.api.security.externalAuth.wrappers.spring.ldap.JSLdapAuthenticationProvider">
        <constructor-arg>
            <bean class="com.jaspersoft.jasperserver.api.security.externalAuth.wrappers.spring.ldap.JSBindAuthenticator">
                <constructor-arg><ref local="ldapContextSource"/></constructor-arg>
                <property name="userDnPatterns">
                    <list>
                        <value>CN={0},CN=Users,DC=sifast,DC=infra</value>
                    </list>
                </property>
            </bean>
        </constructor-arg>
        <constructor-arg>
            <bean class="com.jaspersoft.jasperserver.api.security.externalAuth.wrappers.spring.ldap.JSDefaultLdapAuthoritiesPopulator">
                <constructor-arg index="0"><ref local="ldapContextSource"/></constructor-arg>
    </bean>

所以我在这里设置它:CN={0},CN=Users,DC=sifast,DC=infra

3。第 3 步:配置 userSearch 方法:

   <bean id="userSearch"
          class="com.jaspersoft.jasperserver.api.security.externalAuth.wrappers.spring.ldap.JSFilterBasedLdapUserSearch">
        <constructor-arg index="0">
            <value></value>
        </constructor-arg>
        <constructor-arg index="1">
            <value>(sAMAccountName={0})</value>
        </constructor-arg>
        <constructor-arg index="2">
            <ref local="ldapContextSource" />
        </constructor-arg>
        <property name="searchSubtree">
            <value>true</value>
        </property>
    </bean>

我在这里使用输入的登录名“({0})”来查找正确用户的类似 sAMAccountName

还是不行。

我的广告架构如下所示: 所以我想让 CN=USERS 中的简单用户获得访问权限

实际上我的身份验证仍然失败。有什么想法吗?

在您的第 2 步 spring 配置文件 JSBindAuthenticator 中缺少以下 属性 参考:

<property name="userSearch" ref="userSearch"/>