首页 > 解决方案 > 如何使用 userPassword 对 AD 进行 CAS 5.3.2 身份验证

问题描述

我有一个 Active Directory 存储,它在字段中保存密码userPassword。我使用 CAS 5.3.2 对 AD 进行身份验证,这是我的配置:

    # Interesting part for Active Directory:
cas.authn.ldap[0].type=AD
cas.authn.ldap[0].ldapUrl=ldap://85.2.58.119:389

cas.authn.ldap[0].useSsl=false
cas.authn.ldap[0].useStartTls=false
cas.authn.ldap[0].connectTimeout=5000

cas.authn.ldap[0].baseDn=OU=User Account,OU=CAS,DC=liferayadmin,DC=net
cas.authn.ldap[0].userFilter=cn={user}
cas.authn.ldap[0].subtreeSearch=true

# AD manager user like someone@company.com
cas.authn.ldap[0].bindDn=cn=casAdmin,OU=User Account,OU=CAS,cn=users,dc=liferayadmin,dc=net
cas.authn.ldap[0].bindCredential=password
cas.authn.ldap[0].dnFormat=%s@liferayadmin.net

cas.authn.ldap[0].principalAttributeId=cn
cas.authn.ldap[0].principalAttributePassword=
cas.authn.ldap[0].principalAttributeList=sAMAccountName,sn,cn,givenName,displayName

cas.authn.ldap[0].failFast=false

# Default values:
cas.authn.ldap[0].minPoolSize=3
cas.authn.ldap[0].maxPoolSize=10
cas.authn.ldap[0].validateOnCheckout=true
cas.authn.ldap[0].validatePeriodically=true
cas.authn.ldap[0].validatePeriod=600
cas.authn.ldap[0].idleTime=5000
cas.authn.ldap[0].prunePeriod=5000
cas.authn.ldap[0].blockWaitTime=5000

它返回失败的身份验证。有人说AD使用另一个字段来检查密码,但我只能使用这个字段'userPassword'。

如何使用此字段向 AD 进行身份验证?

我如何检查什么是根本原因fail autheticate?(无法连接 AD / 错误的 bindCredential / 其他异常......)。

如果可能的话,请查看我的配置,看看我是否有错误。谢谢!

标签: active-directorysingle-sign-oncas

解决方案


推荐阅读