如何通过 Windows Active Directory 对 TWiki 进行身份验证

如何通过 Windows Active Directory 对 TWiki 进行身份验证

我该如何获得深圳市德勤科技有限公司使用单点登录透明地对 Windows Active Directory 进行身份验证?

答案1

我写了一部分补充文件此功能。本指南针对 TWiki 4.2,但设置过程保持不变。

Kerberos SSO 在 Firefox 中有效,只需确保将您的服务器名称添加到 about:config 中的 network.negotiate-auth.trusted-uris

名称映射是最难的部分。TWiki LDAP 插件有一个正则表达式,可将 Active Directory 登录名映射到 TWiki 用户名。它在我们的 firstname.lastname 格式中存在大写问题,但是改变正则表达式产生了我们想要的 TWiki 用户名。

答案2

您是指单点登录还是仅仅是身份验证?

身份验证可能相当简单。如果与现有的其他 LDAP 身份验证方案一样,只需将 twiki 指向您保留用户所在的 OU 即可。单点登录要复杂得多,我不知道。

以下指南或许能帮到你:http://twiki.org/cgi-bin/view/Support/LdapAuthenticationHowTo

答案3

Matt Simmons 的回答是一个很好的起点。

由于我使用 TWiki 和 LDAP(纯 LDAP 而非 AD),因此添加了一些详细信息。

在您的 Apache conf 中通常有:

AuthUserFile /var/www/twiki42/data/.htpasswd
...

用这个替换它:

AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthName "login with your AD/domain credentials ..."
AuthLDAPURL ldap://your.ad.example.org/ou=people,dc=example,dc=org
require valid-user

(当然,您必须在 AuthLDAPURL 中设置正确的值。)您必须为 ldap 启用正确的 auth 模块。在基于 debian 的系统上使用:

a2enmod authnz_ldap

确保你有

$TWiki::cfg{PasswordManager} = 'TWiki::Users::HtPasswdUser';

在您的 LocalSite.cfg 中 另一种方法是使用管理界面进行设置。也许您还想禁用注册:

$TWiki::cfg{Register}{EnableNewUserRegistration} = 0;

如果您有任何疑问,请直接询问。

这是实现此目的的一种方法(也许是最简单的方法)。另一种方法是使用 ldap 插件并强制用户根据 ldap 数据注册新用户(这不是我想要的)。

答案4

针对 AD 进行单点登录的一种方法是使用 NTLM。您可以通过 HTTP 执行 NTLM 来为用户提供自动登录,但这并不是很简单。

我遇到过这篇文章来自 2006 年, 和这个 2005 年的网站看起来有点花哨, 但这是第三个也是最后一个链接看起来更有用。希望其中一个能帮到你!

相关内容