Как я могу получить TWiki для прозрачной аутентификации в Windows Active Directory с помощью единого входа?
Я написал часть дополнительная документация для этой функции. Руководство предназначено для TWiki 4.2, но процесс установки остается прежним.
Kerberos SSO работает в Firefox, просто не забудьте добавить имя вашего сервера в network.negotiate-auth.trusted-uris в about: config
Сопоставление имен - самая сложная часть. Плагин TWiki LDAP имеет регулярное выражение, которое сопоставляет имена входа Active Directory с именами пользователей TWiki. У него были проблемы с заглавными буквами в нашем формате firstname.lastname, но изменение регулярного выражения создали нужные нам имена пользователей TWiki.
Ответ Мэтта Симмонса это хорошая отправная точка.
Я добавляю некоторые детали, поскольку использую 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 (это было не то, что я хотел).
Вы имеете в виду единый вход или просто аутентификацию?
Аутентификация, вероятно, довольно проста. Просто укажите twiki на OU, в котором вы держите своих пользователей, если это похоже на любую другую схему аутентификации LDAP. Единый вход намного сложнее, и я понятия не имею.
Вот HOWTO, которое может помочь: http://twiki.org/cgi-bin/view/Support/LdapAuthenticationHowTo
Один из методов единого входа в AD - использование NTLM. Вы можете использовать NTLM через HTTP, чтобы предоставить своим пользователям автоматический вход в систему, но это не совсем просто.
Я наткнулся на эта статья из 2006, и этот несколько более яркий веб-сайт 2005 года, но эта третья и последняя ссылка кажется гораздо более полезным. Надеюсь, один из них вам поможет!
Насколько я понимаю, вам понадобится веб-браузер, поддерживающий Kerberos для SSO. IE, вероятно, будет иметь встроенную функциональность для связи, по крайней мере, с серверами AD.
В Firefox также была поддержка Kerberos, но я только что проверил и, например, тот из Debian Stable, похоже, не связан.