Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
auth:ad [2017/03/14 21:00] 5.228.3.150 |
auth:ad [2021/03/14 15:42] (текущий) aleksandr Статус обсуждения изменён |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | Наш сервис предоставляет настоящие лайки на фото заказчиков, | + | ====== Аутентификация через Active Directory ====== |
- | + | ||
- | Именно для этого мы и набираем удалённых сотрудников, которые будут выполнять работу, то есть ставить лайки и зарабатывать | + | Это [[doku> |
- | + | ||
- | Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при | + | Аутентификация Active Directory может быть |
- | + | ||
- | Вам достаточно просто зарегистрироваться | + | Серверное расширение включено в дистрибутив DokuWiki начиная с версии rc2009-12-02 " |
- | + | ||
- | Вывод заработанных средств ежедневно в течении нескольких минут. | + | Также будет необходимо включить поддержку LDAP на PHP сервере. По умолчанию PHP не поддерживает LDAP. В большинстве случаев нужно просто отредактировать php.ini |
+ | чтобы включить поддержку LDAP, однако надо проверить установку PHP, если на вашем сервере установлена нестандартная сборка PHP. | ||
+ | |||
+ | ===== Настройка ===== | ||
+ | |||
+ | Во избежании потери | ||
+ | |||
+ | Возможно потребуется установить как минимум следующие опции: | ||
+ | |||
+ | <code php> | ||
+ | <? | ||
+ | // общие настройки DokuWiki | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | |||
+ | // настройки Active Directory | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | // | ||
+ | </ | ||
+ | |||
+ | Можно указать дополнительные параметры: | ||
+ | |||
+ | <code php> | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | // в 0 улучшит скорость работы, но неявное членство в группах перестанет работать | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | |||
+ | Для установки прав суперпользователя можно | ||
+ | |||
+ | <code php> | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | </ | ||
+ | |||
+ | Любые другие настройки, указанные в $conf[' | ||
+ | |||
+ | В комбинации | ||
+ | |||
+ | <code php> | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | </ | ||
+ | |||
+ | Если в организации используется система из нескольких контроллеров домена с единым родительским контроллером, | ||
+ | 5 | ||
+ | ===== Изменение профиля пользователя и пароля ===== | ||
+ | |||
+ | [[doku> | ||
+ | |||
+ | Пользователи могут изменить их настройки (имя, почтовый адрес и пароль) используя кнопку " | ||
+ | |||
+ | Также необходимо помнить, | ||
+ | |||
+ | ===== Имена пользователей и групп ===== | ||
+ | |||
+ | Имена пользователей и групп при экспорте автоматически преобразуются | ||
+ | |||
+ | Пример: '' | ||
+ | |||
+ | Об этом необходимо помнить, | ||
+ | |||
+ | ===== Включение Single Sign On ===== | ||
+ | |||
+ | Single Sign On (SSO) обозначает, | ||
+ | |||
+ | Для того, чтобы эта функция заработала, | ||
+ | |||
+ | < | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | </ | ||
+ | |||
+ | Также необходимо дополнительно установить дополнительные настройки на сервере и в браузере. | ||
+ | |||
+ | ==== Web Server ==== | ||
+ | |||
+ | === NTLM on IIS === | ||
+ | |||
+ | First configure IIS to use the Windows Logon for authentication (see screenshots): | ||
+ | |||
+ | - Open the IIS configuration console using " | ||
+ | - Right click on the " | ||
+ | - Switch to the " | ||
+ | - Click the " | ||
+ | - Disable " | ||
+ | - Enable " | ||
+ | |||
+ | |||
+ | {{http:// | ||
+ | |||
+ | Then make sure NTLM is used as authentication protocol. This has to be done on the commandline: | ||
+ | |||
+ | - Open a command line: " | ||
+ | - Change to the admin script directory: '' | ||
+ | - Check the current protocol: '' | ||
+ | - if it doesn' | ||
+ | |||
+ | Now restart IIS. | ||
+ | |||
+ | === NTLM on Apache (Windows) === | ||
+ | |||
+ | Download [[http:// | ||
+ | Copy the mod_auth_sspi.so file into your apache modules directory. | ||
+ | Add into httpd.conf: | ||
+ | < | ||
+ | LoadModule sspi_auth_module modules/ | ||
+ | |||
+ | < | ||
+ | AuthName "My Intranet" | ||
+ | AuthType SSPI | ||
+ | SSPIAuth On | ||
+ | SSPIAuthoritative On | ||
+ | |||
+ | require valid-user | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Now restart Apache | ||
+ | |||
+ | === NTLM on Apache (Linux) === | ||
+ | |||
+ | == Ubuntu Server 11.04== | ||
+ | **Скачиваем модуль mod_ntlm для Apache.** | ||
+ | |||
+ | < | ||
+ | |||
+ | **Распаковываем архив: | ||
+ | |||
+ | < | ||
+ | |||
+ | **Необходимо обновить систему: | ||
+ | |||
+ | < | ||
+ | |||
+ | **Устанавливаем gcc:** | ||
+ | |||
+ | < | ||
+ | |||
+ | **Устанавливаем Apache prefork и gcc 3.4:** | ||
+ | |||
+ | < | ||
+ | |||
+ | **Линкуем | ||
+ | |||
+ | < | ||
+ | |||
+ | **Далее | ||
+ | |||
+ | < | ||
+ | |||
+ | **Далее, | ||
+ | |||
+ | LoadModule ntlm_module | ||
+ | |||
+ | **Запустить модуль** | ||
+ | |||
+ | < | ||
+ | |||
+ | **В файле / | ||
+ | |||
+ | < | ||
+ | AuthType NTLM | ||
+ | NTLMAuth On | ||
+ | NTLMAuthoritative OFF | ||
+ | NTLMDomain domain.ru | ||
+ | NTLMServer name-server.domain.ru | ||
+ | NTLMBackup name-server.domain.ru | ||
+ | require valid-user | ||
+ | </ | ||
+ | |||
+ | ** Конфигурируем Apache2 / | ||
+ | |||
+ | KeepAlive On | ||
+ | |||
+ | MaxKeepAliveRequests 100 | ||
+ | |||
+ | KeepAliveTimeout 15 | ||
+ | |||
+ | **Перезапускаем Apache:** | ||
+ | |||
+ | < | ||
+ | |||
+ | == Примеры == | ||
+ | |||
+ | http:// | ||
+ | |||
+ | http:// | ||
+ | |||
+ | === Kerberos on Apache (Linux) === | ||
+ | |||
+ | This setup enables an Apache Server on Linux to verify Kerberos Tickets against an Active Directory server. | ||
+ | |||
+ | Good references for Apache/ | ||
+ | * http:// | ||
+ | * http:// | ||
+ | |||
+ | The following examples assume your wiki to be running on '' | ||
+ | |||
+ | **Note: Kerberos is case sensitive, if it is all caps - it should be!** | ||
+ | |||
+ | - Install Kerberos client((Redhat: | ||
+ | - Install mod_auth_kerb((Redhat: | ||
+ | - Configure Kerberos if necessary, sample ''/ | ||
+ | [logging] | ||
+ | | ||
+ | kdc = FILE:/ | ||
+ | | ||
+ | |||
+ | [libdefaults] | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | [realms] | ||
+ | | ||
+ | kdc = dc1.yourdomain.com | ||
+ | admin_server = dc1.yourdomain.com | ||
+ | default_domain = yourdomain.com | ||
+ | } | ||
+ | |||
+ | [domain_realm] | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | [appdefaults] | ||
+ | pam = { | ||
+ | debug = false | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ | - Verify that the time on the DokuWiki server is within 5 minutes of the Active Directory server. Otherwise Kerberos will not authenticate. | ||
+ | - Verify that the Kerberos environment is working by running:< | ||
+ | kinit username@YOURDOMAIN.COM | ||
+ | klist | ||
+ | kdestroy | ||
+ | (If you get any errors here, make sure your DNS setup is working and you wrote all marked as " | ||
+ | - Create a keytab file for your DokuWiki server. Make sure you have created a non-admin user in Active Directory with no password expiration. Run this as a Domain Admin on a Windows server with Support Tools installed:< | ||
+ | - If no errors occurred, copy the keytab file to / | ||
+ | - Create / | ||
+ | < | ||
+ | # Kerberos Auth | ||
+ | AuthType Kerberos | ||
+ | KrbAuthRealms YOURDOMAIN.COM | ||
+ | KrbServiceName HTTP | ||
+ | Krb5Keytab / | ||
+ | KrbMethodNegotiate on | ||
+ | KrbMethodK5Passwd on | ||
+ | require valid-user | ||
+ | </ | ||
+ | </ | ||
+ | - (Re)start Apache: service httpd restart. | ||
+ | |||
+ | == Troubleshooting == | ||
+ | |||
+ | * Restart Apache. Web server config changes won't apply until restarted. | ||
+ | * Try using the FQDN of the DokuWiki server, i.e. < | ||
+ | * If you are presented with a login window, do not enter domain/ | ||
+ | * Verify that the time on the DokuWiki server is within 5 minutes of the Active Directory server. Otherwise Kerberos will not authenticate. | ||
+ | * Check all Kerberos files for case inconsistencies. | ||
+ | * Review this instruction from start to end. See reference links where possible. | ||
+ | |||
+ | ==== Browser ==== | ||
+ | |||
+ | Your browser needs to be setup to forward authentication info to the Webserver. | ||
+ | |||
+ | === Setup MS Internet Explorer === | ||
+ | |||
+ | FIXME add detailed description | ||
+ | |||
+ | - add dokuwiki server to trusted zone | ||
+ | - Enable authentication forwarding (Windows Integrated Authentication). Restart your browser to complete the change. IE 8 shown here: | ||
+ | {{http:// | ||
+ | |||
+ | === Setup Firefox === | ||
+ | |||
+ | - Open Firefox and type // | ||
+ | - In the ‘Filter’ field type one of the following (depending if you're using NTLM or Kerberos) // | ||
+ | - Double click the name of the preference that we just searched for | ||
+ | - Enter the URLs of the sites you wish to pass NTLM auth info to in the form of: | ||
+ | < | ||
+ | http:// | ||
+ | </ | ||
+ | Notice that you can use a comma separated list in this field. | ||
+ | |||
+ | ~~DISCUSSION: |