【发布时间】:2021-09-02 23:34:34
【问题描述】:
我有 CAS 5.2.3 和 LDAP 连接。
LDAP 有 1 个域和 2 个 ou(ou = 组,ou = 人)。每个组都有一个带有组名的 cn。每个这样的组都包含几个成员,其中指定了 ou = people 的用户名。
最初(在身份验证期间)用户连接到 ou=people。接下来,我们需要从 ou=groups 中获取其组的列表(一个用户可以在多个组中)。
我的任务是在用户通过身份验证时获取用户组以更新它们。
我需要传递用户(例如:“cn=MOrlova, ou=people, dc=domain, dc=ru”)并获取该用户所属的所有 groupNames(最好在 String[] 中) )。数据结构是这样的。
我不明白我需要在 CAS 中进行哪些设置才能连接。我在 CAS 描述中找到了这些:
cas.authn.attributeRepository.ldap[2].ldapUrl=ldap://localhost:9080
cas.authn.attributeRepository.ldap[2].useSsl=false
cas.authn.attributeRepository.ldap[2].useStartTls=false
cas.authn.attributeRepository.ldap[2].connectTimeout=5000
cas.authn.attributeRepository.ldap[2].bindDn=cn=Manager,dc=domain,dc=ru
cas.authn.attributeRepository.ldap[2].bindCredential=Manager1
cas.authn.attributeRepository.ldap[2].userFilter=(&(member=cn{user})
cas.authn.attributeRepository.ldap[2].subtreeSearch=true
cas.authn.attributeRepository.ldap[2].dnFormat=cn=%s,ou=groups,dc=domain,dc=ru
即使它有效,我怎样才能将响应收集到字符串列表中并将它们放入常规 Java 类中?
【问题讨论】:
标签: java ldap single-sign-on cas