gpt4 book ai didi

java - Cas Ldap认证失败: attributes are empty

转载 作者:太空宇宙 更新时间:2023-11-04 14:14:19 24 4
gpt4 key购买 nike

我正在尝试使用 LDAP 连接对 cas 上的用户进行身份验证。LDAP 说可以,但他没有向我发送属性...

这是交易:

2015-01-14 10:52:34,353 DEBUG [org.jasig.cas.authentication.LdapAuthenticationHandler] - <Attempting LDAP authentication for ffischer+password>
2015-01-14 10:52:34,354 DEBUG [org.ldaptive.auth.FormatDnResolver] - <Formatting DN for ffischer with %s@AGADIR-DEV>
2015-01-14 10:52:34,354 DEBUG [org.ldaptive.auth.Authenticator] - <authenticate dn=ffischer@AGADIR-DEV with request=[org.ldaptive.auth.AuthenticationRequest@1009044935::user=ffischer, retAttrs=[sAMAccountName, name]]>
2015-01-14 10:52:34,355 DEBUG [org.ldaptive.auth.PooledBindAuthenticationHandler] - <authenticate criteria=[org.ldaptive.auth.AuthenticationCriteria@339862186::dn=ffischer@AGADIR-DEV, authenticationRequest=[org.ldaptive.auth.AuthenticationRequest@1009044935::user=ffischer, retAttrs=[sAMAccountName, name]]]>
2015-01-14 10:52:34,359 DEBUG [org.ldaptive.BindOperation] - <execute request=[org.ldaptive.BindRequest@1445552746::bindDn=ffischer@AGADIR-DEV, saslConfig=null, controls=null] with connection=[org.ldaptive.DefaultConnectionFactory$DefaultConnection@291843681::config=[org.ldaptive.ConnectionConfig@172930161::ldapUrl=ldap://192.168.1.93, connectTimeout=3000, responseTimeout=-1, sslConfig=[org.ldaptive.ssl.SslConfig@891841536::credentialConfig=[org.ldaptive.ssl.X509CredentialConfig@-1559905052::trustCertificates=classpath:todo, authenticationCertificate=null, authenticationKey=null], trustManagers=null, enabledCipherSuites=null, enabledProtocols=null, handshakeCompletedListeners=null], useSSL=false, useStartTLS=false, connectionInitializer=null], providerConnectionFactory=[org.ldaptive.provider.jndi.JndiConnectionFactory@922503511::connectionCount=1, environment={java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, com.sun.jndi.ldap.connect.timeout=3000, java.naming.ldap.version=3}, providerConfig=[org.ldaptive.provider.jndi.JndiProviderConfig@1832061684::operationExceptionResultCodes=[PROTOCOL_ERROR, SERVER_DOWN], properties={}, connectionStrategy=DEFAULT, environment=null, tracePackets=null, removeDnUrls=true, searchIgnoreResultCodes=[TIME_LIMIT_EXCEEDED, SIZE_LIMIT_EXCEEDED, PARTIAL_RESULTS], sslSocketFactory=null, hostnameVerifier=null, controlProcessor=org.ldaptive.provider.ControlProcessor@3214512e]], providerConnection=org.ldaptive.provider.jndi.JndiConnection@53ddbcb1]>
2015-01-14 10:52:34,365 DEBUG [org.ldaptive.BindOperation] - <execute response=[org.ldaptive.Response@2061991076::result=null, resultCode=SUCCESS, message=null, matchedDn=null, responseControls=null, referralURLs=null, messageId=-1] for request=[org.ldaptive.BindRequest@1445552746::bindDn=ffischer@AGADIR-DEV, saslConfig=null, controls=null] with connection=[org.ldaptive.DefaultConnectionFactory$DefaultConnection@291843681::config=[org.ldaptive.ConnectionConfig@172930161::ldapUrl=ldap://192.168.1.93, connectTimeout=3000, responseTimeout=-1, sslConfig=[org.ldaptive.ssl.SslConfig@891841536::credentialConfig=[org.ldaptive.ssl.X509CredentialConfig@-1559905052::trustCertificates=classpath:todo, authenticationCertificate=null, authenticationKey=null], trustManagers=null, enabledCipherSuites=null, enabledProtocols=null, handshakeCompletedListeners=null], useSSL=false, useStartTLS=false, connectionInitializer=null], providerConnectionFactory=[org.ldaptive.provider.jndi.JndiConnectionFactory@922503511::connectionCount=1, environment={java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, com.sun.jndi.ldap.connect.timeout=3000, java.naming.ldap.version=3}, providerConfig=[org.ldaptive.provider.jndi.JndiProviderConfig@1832061684::operationExceptionResultCodes=[PROTOCOL_ERROR, SERVER_DOWN], properties={}, connectionStrategy=DEFAULT, environment=null, tracePackets=null, removeDnUrls=true, searchIgnoreResultCodes=[TIME_LIMIT_EXCEEDED, SIZE_LIMIT_EXCEEDED, PARTIAL_RESULTS], sslSocketFactory=null, hostnameVerifier=null, controlProcessor=org.ldaptive.provider.ControlProcessor@3214512e]], providerConnection=org.ldaptive.provider.jndi.JndiConnection@53ddbcb1]>
2015-01-14 10:52:34,366 DEBUG [org.ldaptive.auth.PooledBindAuthenticationHandler] - <authenticate response=[org.ldaptive.auth.AuthenticationHandlerResponse@1940402693::connection=[org.ldaptive.DefaultConnectionFactory$DefaultConnection@291843681::config=[org.ldaptive.ConnectionConfig@172930161::ldapUrl=ldap://192.168.1.93, connectTimeout=3000, responseTimeout=-1, sslConfig=[org.ldaptive.ssl.SslConfig@891841536::credentialConfig=[org.ldaptive.ssl.X509CredentialConfig@-1559905052::trustCertificates=classpath:todo, authenticationCertificate=null, authenticationKey=null], trustManagers=null, enabledCipherSuites=null, enabledProtocols=null, handshakeCompletedListeners=null], useSSL=false, useStartTLS=false, connectionInitializer=null], providerConnectionFactory=[org.ldaptive.provider.jndi.JndiConnectionFactory@922503511::connectionCount=1, environment={java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, com.sun.jndi.ldap.connect.timeout=3000, java.naming.ldap.version=3}, providerConfig=[org.ldaptive.provider.jndi.JndiProviderConfig@1832061684::operationExceptionResultCodes=[PROTOCOL_ERROR, SERVER_DOWN], properties={}, connectionStrategy=DEFAULT, environment=null, tracePackets=null, removeDnUrls=true, searchIgnoreResultCodes=[TIME_LIMIT_EXCEEDED, SIZE_LIMIT_EXCEEDED, PARTIAL_RESULTS], sslSocketFactory=null, hostnameVerifier=null, controlProcessor=org.ldaptive.provider.ControlProcessor@3214512e]], providerConnection=org.ldaptive.provider.jndi.JndiConnection@53ddbcb1], result=true, resultCode=SUCCESS, message=null, controls=null] for criteria=[org.ldaptive.auth.AuthenticationCriteria@339862186::dn=ffischer@AGADIR-DEV, authenticationRequest=[org.ldaptive.auth.AuthenticationRequest@1009044935::user=ffischer, retAttrs=[sAMAccountName, name]]]>
2015-01-14 10:52:34,367 DEBUG [org.jasig.cas.authentication.support.UpnSearchEntryResolver] - <resolve criteria=[org.ldaptive.auth.AuthenticationCriteria@339862186::dn=ffischer@AGADIR-DEV, authenticationRequest=[org.ldaptive.auth.AuthenticationRequest@1009044935::user=ffischer, retAttrs=[sAMAccountName, name]]]>
2015-01-14 10:52:34,368 DEBUG [org.ldaptive.SearchOperation] - <execute request=[org.ldaptive.SearchRequest@1446887226::baseDn=dc=AGADIR-DEV,dc=lan, searchFilter=[org.ldaptive.SearchFilter@-523261394::filter=userPrincipalName={0}, parameters={0=ffischer@AGADIR-DEV}], returnAttributes=[sAMAccountName, name], searchScope=SUBTREE, timeLimit=0, sizeLimit=0, derefAliases=null, typesOnly=false, binaryAttributes=null, sortBehavior=UNORDERED, searchEntryHandlers=null, searchReferenceHandlers=null, controls=null, followReferrals=false, intermediateResponseHandlers=null] with connection=[org.ldaptive.DefaultConnectionFactory$DefaultConnection@291843681::config=[org.ldaptive.ConnectionConfig@172930161::ldapUrl=ldap://192.168.1.93, connectTimeout=3000, responseTimeout=-1, sslConfig=[org.ldaptive.ssl.SslConfig@891841536::credentialConfig=[org.ldaptive.ssl.X509CredentialConfig@-1559905052::trustCertificates=classpath:todo, authenticationCertificate=null, authenticationKey=null], trustManagers=null, enabledCipherSuites=null, enabledProtocols=null, handshakeCompletedListeners=null], useSSL=false, useStartTLS=false, connectionInitializer=null], providerConnectionFactory=[org.ldaptive.provider.jndi.JndiConnectionFactory@922503511::connectionCount=1, environment={java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, com.sun.jndi.ldap.connect.timeout=3000, java.naming.ldap.version=3}, providerConfig=[org.ldaptive.provider.jndi.JndiProviderConfig@1832061684::operationExceptionResultCodes=[PROTOCOL_ERROR, SERVER_DOWN], properties={}, connectionStrategy=DEFAULT, environment=null, tracePackets=null, removeDnUrls=true, searchIgnoreResultCodes=[TIME_LIMIT_EXCEEDED, SIZE_LIMIT_EXCEEDED, PARTIAL_RESULTS], sslSocketFactory=null, hostnameVerifier=null, controlProcessor=org.ldaptive.provider.ControlProcessor@3214512e]], providerConnection=org.ldaptive.provider.jndi.JndiConnection@53ddbcb1]>
2015-01-14 10:52:34,375 DEBUG [org.ldaptive.SearchOperation] - <execute response=[org.ldaptive.Response@565100753::result=[[]], resultCode=SUCCESS, message=null, matchedDn=null, responseControls=null, referralURLs=[ldap://ForestDnsZones.AGADIR-DEV.lan/DC=ForestDnsZones,DC=AGADIR-DEV,DC=lan], messageId=-1] for request=[org.ldaptive.SearchRequest@1446887226::baseDn=dc=AGADIR-DEV,dc=lan, searchFilter=[org.ldaptive.SearchFilter@-523261394::filter=userPrincipalName={0}, parameters={0=ffischer@AGADIR-DEV}], returnAttributes=[sAMAccountName, name], searchScope=SUBTREE, timeLimit=0, sizeLimit=0, derefAliases=null, typesOnly=false, binaryAttributes=null, sortBehavior=UNORDERED, searchEntryHandlers=null, searchReferenceHandlers=null, controls=null, followReferrals=false, intermediateResponseHandlers=null] with connection=[org.ldaptive.DefaultConnectionFactory$DefaultConnection@291843681::config=[org.ldaptive.ConnectionConfig@172930161::ldapUrl=ldap://192.168.1.93, connectTimeout=3000, responseTimeout=-1, sslConfig=[org.ldaptive.ssl.SslConfig@891841536::credentialConfig=[org.ldaptive.ssl.X509CredentialConfig@-1559905052::trustCertificates=classpath:todo, authenticationCertificate=null, authenticationKey=null], trustManagers=null, enabledCipherSuites=null, enabledProtocols=null, handshakeCompletedListeners=null], useSSL=false, useStartTLS=false, connectionInitializer=null], providerConnectionFactory=[org.ldaptive.provider.jndi.JndiConnectionFactory@922503511::connectionCount=1, environment={java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, com.sun.jndi.ldap.connect.timeout=3000, java.naming.ldap.version=3}, providerConfig=[org.ldaptive.provider.jndi.JndiProviderConfig@1832061684::operationExceptionResultCodes=[PROTOCOL_ERROR, SERVER_DOWN], properties={}, connectionStrategy=DEFAULT, environment=null, tracePackets=null, removeDnUrls=true, searchIgnoreResultCodes=[TIME_LIMIT_EXCEEDED, SIZE_LIMIT_EXCEEDED, PARTIAL_RESULTS], sslSocketFactory=null, hostnameVerifier=null, controlProcessor=org.ldaptive.provider.ControlProcessor@3214512e]], providerConnection=org.ldaptive.provider.jndi.JndiConnection@53ddbcb1]>
2015-01-14 10:52:34,375 DEBUG [org.jasig.cas.authentication.support.UpnSearchEntryResolver] - <resolved result=[[]] for criteria=[org.ldaptive.auth.AuthenticationCriteria@339862186::dn=ffischer@AGADIR-DEV, authenticationRequest=[org.ldaptive.auth.AuthenticationRequest@1009044935::user=ffischer, retAttrs=[sAMAccountName, name]]]>
2015-01-14 10:52:34,376 INFO [org.ldaptive.auth.Authenticator] - <Authentication succeeded for dn: ffischer@AGADIR-DEV>
2015-01-14 10:52:34,377 DEBUG [org.ldaptive.auth.Authenticator] - <authenticate response=[org.ldaptive.auth.AuthenticationHandlerResponse@1940402693::connection=[org.ldaptive.DefaultConnectionFactory$DefaultConnection@291843681::config=[org.ldaptive.ConnectionConfig@172930161::ldapUrl=ldap://192.168.1.93, connectTimeout=3000, responseTimeout=-1, sslConfig=[org.ldaptive.ssl.SslConfig@891841536::credentialConfig=[org.ldaptive.ssl.X509CredentialConfig@-1559905052::trustCertificates=classpath:todo, authenticationCertificate=null, authenticationKey=null], trustManagers=null, enabledCipherSuites=null, enabledProtocols=null, handshakeCompletedListeners=null], useSSL=false, useStartTLS=false, connectionInitializer=null], providerConnectionFactory=[org.ldaptive.provider.jndi.JndiConnectionFactory@922503511::connectionCount=1, environment={java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, com.sun.jndi.ldap.connect.timeout=3000, java.naming.ldap.version=3}, providerConfig=[org.ldaptive.provider.jndi.JndiProviderConfig@1832061684::operationExceptionResultCodes=[PROTOCOL_ERROR, SERVER_DOWN], properties={}, connectionStrategy=DEFAULT, environment=null, tracePackets=null, removeDnUrls=true, searchIgnoreResultCodes=[TIME_LIMIT_EXCEEDED, SIZE_LIMIT_EXCEEDED, PARTIAL_RESULTS], sslSocketFactory=null, hostnameVerifier=null, controlProcessor=org.ldaptive.provider.ControlProcessor@3214512e]], providerConnection=org.ldaptive.provider.jndi.JndiConnection@53ddbcb1], result=true, resultCode=SUCCESS, message=null, controls=null] for dn=ffischer@AGADIR-DEV with request=[org.ldaptive.auth.AuthenticationRequest@1009044935::user=ffischer, retAttrs=[sAMAccountName, name]]>
2015-01-14 10:52:34,378 DEBUG [org.jasig.cas.authentication.LdapAuthenticationHandler] - <LDAP response: [org.ldaptive.auth.AuthenticationResponse@274142856::authenticationResultCode=AUTHENTICATION_HANDLER_SUCCESS, ldapEntry=[dn=ffischer@AGADIR-DEV[]], accountState=null, result=true, resultCode=SUCCESS, message=null, controls=null]>
2015-01-14 10:52:34,378 INFO [org.jasig.cas.authentication.PolicyBasedAuthenticationManager] - <LdapAuthenticationHandler failed authenticating ffischer+password>

是AD配置的问题吗?我用的是AD 2008 R2Cas服务器4.0.0

感谢帮助

最佳答案

问题是,当应用程序搜索您的用户帐户时,它使用 ffischer@AGADIR-DEV 作为在 userPrincipalName 属性中查找的值。但是,此属性包含 samAccountName 以及由 @ 分隔的完整域名,在您的情况下为 AGADIR-DEV.lan

要解决此问题,您应该更新搜索帐户的方式,或者也使用 userPrincipalName 进行登录。这也可能需要一些调整,因为我不熟悉您使用的库的工作原理。

关于java - Cas Ldap认证失败: attributes are empty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27940112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com