Как аутентифицировать 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, похоже, не связан с ним.