Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagebash
borderStylesolid
[carsi@www ~]$ sudo vi /opt/shibboleth-idp/conf/ldap.properties

## Connection properties ##    
# 使用学校的ldap服务器IP地址及端口代替下面的“localhost:10389”
idp.authn.LDAP.ldapURL                          = ldap://localhost:10389

# Search DN resolution, used by anonSearchAuthenticator, bindSearchAuthenticator
# for AD: CN=Users,DC=example,DC=org   
#本地ldap配置中人员所在分支,请根据学校ldap服务器配置进行修改:
idp.authn.LDAP.baseDN                           = ou=people,dc=example,dc=org

#如果学校的LADP人员在多个子分支下,需要将下面这句取消注释,并将false修改成true
#idp.authn.LDAP.subtreeSearch = false

# bind search configuration
# for AD: idp.authn.LDAP.bindDN=adminuser@domain.com     
#本地ldap配置中查询人员所在分支,请根据学校ldap服务器配置进行修改:
idp.authn.LDAP.bindDN                           = uid=myservice,ou=system

#idp.authn.LDAP.subtreeSearch                   = false
#登录本地ldap服务器的用户名,下面配置中user表示IdP密码验证对话框中输入的用户名对应的IdP字段名称,uid指对应的ldap服务器对应的字段名称:
idp.authn.LDAP.userFilter                       = (uid={user})

#检查确认useStartTLS、sslConfig、authenticator三项配置与下面配置一致:
idp.authn.LDAP.useStartTLS                     = false
## SSL configuration, either jvmTrust, certificateTrust, or keyStoreTrust
idp.authn.LDAP.sslConfig                       = jvmTrust
## Authenticator strategy, either anonSearchAuthenticator, bindSearchAuthenticator, directAuthenticator, adAuthenticator
idp.authn.LDAP.authenticator                   = bindSearchAuthenticator


[carsi@www ~]$ sudo  vi /opt/shibboleth-idp/credentials/secrets.properties
设置LDAP服务器查询密码:

idp.authn.LDAP.bindDNCredential = "密码"   

        因LDAP服务器配置差异,请与本校LDAP管理员确认以上配置,需要了解本校LDAP的目录结构以及字段定义后再做修改。以上属性在ldap 因LDAP服务器配置差异,请与本校LDAP管理员确认以上配置,需要了解本校LDAP的目录结构以及字段定义后再做修改。以上属性在ldap.properties文件中已经定义好,请勿直接拷贝添加到ldap.properties,会造成属性重复定义,其他未提到的属性按照ldap.properties默认配置即可。

...

Code Block
languagebash
borderStylesolid
idp.authn.LDAP.userFilter = (sAMAccountName={user})
idp.attribute.resolver.LDAP.searchFilter = (sAMAccountName=$resolutionContext.principal)

    例如,如果学校LDAP中登录账号对应的字段名称是cn, 则配置如下,同时,需要将searchFilter参数也修改成cn。

Code Block
#例如如下,如果学校ldap中登录账号对应的字段名称是cn, 则改成如下,同时,需要将searchFilter参数也修改成cn。
idp.authn.LDAP.userFilter                  = (cn={user})
idp.attribute.resolver.LDAP.searchFilter        = (cn=$resolutionContext.principal)


注:强烈建议先在IdP所在的服务器上测试一下对本校LDAP的连接性,以及查看一下LDAP管理员提供的属性及其取值是否正确。华东师范大学冯骐老师分享了一个轻量级的 LDAP测试工具 https://github.com/shanghai-edu/ldap-test-tool , 可以用来进行测试。或使用类似LDAP Browser或LDAP Admin这样的工具,在IdP所在服务器进行验证,以排除环境问题的影响。

...