active-directory - 如何使用 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 / 其他异常......)。
如果可能的话,请查看我的配置,看看我是否有错误。谢谢!
解决方案
推荐阅读
- c# - 通过 Ajax 发送从 DataTable 中挑选的对象数组到控制器 MVC 错误 400
- c - *** 检测到堆栈粉碎 *** 在双倍循环中使用双数组
- algorithm - 最多 k 个设施和预算 b 的无能力设施选址问题
- c++ - 如何创建一个类来存储大小仅受系统可用内存总量限制的数字?
- javascript - 来自输入类型=文件的角度传递引用变量
- aws-lambda - 在提供 CSS 和 JS 文件时,在 AWS Lambda 中运行的 .NET Core MVC 应用程序的身份验证不起作用
- widget - 如何获得均匀数量的网格单元
- algorithm - 堆排序(自下而上)
- reactjs - Reactjs Array.slice(开始,结束)不起作用
- swift - 如何从自定义类中的视图控制器访问变量?