疑难解惑指南 - 如何使用 Active Directory 或 LDAP 进行身份验证?

优质
小牛编辑
134浏览
2023-12-01

Serene 1.8.12+ 有一些基本的 ActiveDirectory / LDAP 集成示例。

若要启用它们,你必须在 web.config 配置为两者之一。

如果要启用 ActiveDirectory,则需要在 appSetting 添加 ActiveDirectory 键,内容如下:

  1. <add key="ActiveDirectory"
  2. value="{ Domain: 'youractivedirectorydomain' }" />

如果该配置在你的 Active Directory 服务器中不能工作,则需要修改 ActiveDirectoryService 类。

当 AD 用户第一次尝试登录,Serene 使用配置的域对用户进行身份认证,检索用户详细信息并把具有类型 目录(directory) 的用户插入到用户(users)表。

AD 密码使用哈希算法加密,并且缓存用户信息一小时,所以用户可以在一小时内不用密码就可使用缓存凭据登录。

在那之后,尝试从 AD 更新用户信息。如果发生错误,将允许用户使用缓存凭据登录。

这些细节可以在 AuthenticationService 类中查看并修改。

若要启用 LDAP 身份认证(使用 OpenLDAP 测试),你需要在 web.config 的 appSetting 节点添加 LDAP 键:

  1. <add key="LDAP"
  2. value="{
  3. Host: '123.124.125.126',
  4. Port: 389,
  5. DistinguishedName: 'dc=yourdomain, dc=com',
  6. Username: 'cn=someuserthatcanreadldap,ou=groupofthatuser,
  7. dc=yourdomain,dc=com',
  8. Password: 'passwordofthatuser'
  9. }"
  10. />

再次,有许多不同 LDAP 服务器配置,所以如果你的配置不能正常工作,你可能需要修改 LdapDirectoryService 类。