Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring security ldap:实例化InitialContextFactory com.sun.jndi.ldap.LdapCtxFactory失败_Java_Spring_Jboss_Ldap_Wildfly - Fatal编程技术网

Java Spring security ldap:实例化InitialContextFactory com.sun.jndi.ldap.LdapCtxFactory失败

Java Spring security ldap:实例化InitialContextFactory com.sun.jndi.ldap.LdapCtxFactory失败,java,spring,jboss,ldap,wildfly,Java,Spring,Jboss,Ldap,Wildfly,我正在从JBoss7.1迁移到Wildfly,并在失败身份验证时出现异常 要登录system I用户spring security ldap和cas客户端,当我在登录表单上键入错误密码时,会出现异常: Caused by: javax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory com.sun.jndi.ldap.LdapCtxFactory from classloa der

我正在从JBoss7.1迁移到Wildfly,并在失败身份验证时出现异常

要登录system I用户spring security ldap和cas客户端,当我在登录表单上键入错误密码时,会出现异常:

    Caused by: javax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory com.sun.jndi.ldap.LdapCtxFactory from classloa
der ModuleClassLoader for Module "deployment.gas.war:main" from Service Module Loader [Root exception is javax.naming.AuthenticationExceptio
n: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1 ]]
        at org.jboss.as.naming.InitialContext.getDefaultInitCtx(InitialContext.java:116)
        at org.jboss.as.naming.InitialContext.init(InitialContext.java:99)
        at javax.naming.ldap.InitialLdapContext.<init>(InitialLdapContext.java:153) [rt.jar:1.7.0_60]
        at org.jboss.as.naming.InitialContext.<init>(InitialContext.java:90)
        at org.jboss.as.naming.InitialContextFactory.getInitialContext(InitialContextFactory.java:44)
        at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684) [rt.jar:1.7.0_60]
        at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307) [rt.jar:1.7.0_60]
        at javax.naming.InitialContext.init(InitialContext.java:242) [rt.jar:1.7.0_60]
        at javax.naming.ldap.InitialLdapContext.<init>(InitialLdapContext.java:153) [rt.jar:1.7.0_60]
        at org.springframework.ldap.core.support.LdapContextSource.getDirContextInstance(LdapContextSource.java:43) [spring-ldap-core-1.3.1.
RELEASE.jar:1.3.1.RELEASE]
        at org.springframework.ldap.core.support.AbstractContextSource.createContext(AbstractContextSource.java:254) [spring-ldap-core-1.3.1
.RELEASE.jar:1.3.1.RELEASE]
        ... 48 more

在AuthenticationException或OperationNotSupportedException的情况下,spring可以处理它并继续尝试下一个userDnStr。还有一个问题是:为什么getContext()在Wildfly上抛出UncategorizedLdapException?

DN应该是管理员。或者允许在DC上进行匿名绑定。不要忘记域名shortName\administrator

<?xml version="1.0" encoding="UTF-8"?>

<module xmlns="urn:jboss:module:1.1" name="org.spring.security" slot="3.1.3">
    <resources>
        <resource-root path="spring-security-ldap-3.1.3.RELEASE.jar"/>
        <resource-root path="spring-security-config-3.1.3.RELEASE.jar"/>
        <resource-root path="spring-security-core-3.1.3.RELEASE.jar"/>
        <resource-root path="spring-security-web-3.1.3.RELEASE.jar"/>
        <resource-root path="spring-security-cas-3.1.3.RELEASE.jar"/>
        <resource-root path="spring-ldap-core-1.3.1.RELEASE.jar"/>
    </resources>

    <dependencies>
        <module name="org.spring.core" slot="3.2.1" export="true" />
        <module name="org.jasig.cas.client.cas-client-core" slot="3.1.12" export="true"/>
        <module name="org.apache.commons-lang" slot="2.5"/>
        <module name="sun.jdk" export="true"/>
    </dependencies>
</module>
 // This will be thrown if an invalid user name is used and the method may
            // be called multiple times to try different names, so we trap the exception
            // unless a subclass wishes to implement more specialized behaviour.
            if ((e instanceof org.springframework.ldap.AuthenticationException)
                    || (e instanceof org.springframework.ldap.OperationNotSupportedException)) {
                handleBindException(userDnStr, username, e);
            } else {
                throw e;
            }