Как аутентифицировать TWiki в Windows Active Directory

Как бы я мог заставить TWiki прозрачно проходить аутентификацию в Windows Active Directory с единой регистрацией?

5 ответов

Я написал часть дополнительной документации для этой функции. Руководство предназначено для TWiki 4.2, но процесс установки остается прежним.

Kerberos SSO работает в Firefox, просто обязательно добавьте имя вашего сервера в network.negotiate-auth.trusted-uris в about:config

Отображение имен самая сложная часть. Плагин TWiki LDAP имеет регулярное выражение, которое отображает имена входа Active Directory в имена пользователей TWiki. У него были проблемы с заглавными буквами в нашем формате namename.lastname, но изменение регулярного выражения произвело желаемые имена пользователей TWiki.

Вы имеете в виду единый вход или просто аутентификацию?

Аутентификация, вероятно, довольно проста. Просто укажите twiki на OU, в котором вы держите своих пользователей, если это похоже на любую другую схему аутентификации LDAP. Единая регистрация намного сложнее, и я понятия не имею.

Вот руководство, которое может помочь: http://twiki.org/cgi-bin/view/Support/LdapAuthenticationHowTo

Ответ Мэтта Симмонса - хорошая отправная точка.

Я добавляю некоторые детали, поскольку я использую 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. В системах на основе Debian используйте:

a2enmod authnz_ldap

убедитесь, что у вас есть

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

в вашем LocalSite.cfg Другой способ заключается в использовании интерфейса администратора для настройки этого. Может быть, вы также хотите отключить регистрацию:

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

Просто спросите, есть ли у вас какие-либо вопросы.

Это один из способов сделать это (возможно, самый простой). Другой способ - использовать плагин ldap и заставить ваших пользователей регистрировать нового пользователя на основе данных ldap (это было не то, что я хотел).

Одним из методов единого входа в AD является использование NTLM. Вы можете использовать NTLM через HTTP, чтобы предоставить вашим пользователям автоматический вход, но это не совсем просто.

Я сталкивался с этой статьей 2006 года и с несколько более ярким веб-сайтом 2005 года, но эта третья и последняя ссылка кажется гораздо более полезной. Надеюсь, один из них поможет вам!

Насколько я понимаю, вам понадобится веб-браузер, который поддерживает Kerberos для SSO. IE, вероятно, будет иметь встроенную функциональность для связи, по крайней мере, с серверами AD.

В Firefox также была поддержка Kerberos, но я только что проверил, и, например, тот, что из Debian Stable, похоже, не связан с ним.

Другие вопросы по тегам