Вопрос по nginx, php – Как я могу реализовать единый вход (SSO) с помощью Microsoft AD для внутреннего приложения PHP?

28

Я смутно осознаю, что на компьютере, подключенном к домену, IE может быть предложено отправить несколько дополнительных заголовков, которые я мог бы использовать для автоматического входа в приложение. Я установил Apache на Windows-сервере с mod_php. Мне бы хотелось, чтобы пользователю не приходилось входить в систему, если это необходимо. Я нашел несколько ссылок, рассказывающих о модулях Kerberos и Apache.

http://www.onlamp.com/pub/a/onlamp/2003/09/11/kerberos.html?page=last https://metacpan.org/pod/Apache2::AuthenNTLM

Поскольку я работаю в Windows, оказалось, что установка модулей Perl или Apache является нетривиальной задачей. Но разве PHP уже не имеет доступа к заголовкам HTTP?

Я нашел это, но он не выполняет никакой аутентификации, он просто показывает, что PHP может читать заголовки NTLM. http://siphon9.net/loune/2007/10/simple-lightweight-ntlm-in-php/

Мне бы хотелось, чтобы мои пользователи просто указывали на приложение и автоматически проверяли их подлинность. Кто-нибудь имел опыт с этим или получил его на работу вообще?

UPDATE С момента первоначальной публикации этого вопроса мы изменили настройки на nginx и php-fcgi, которые все еще работают в Windows. Apache2 и php-cgi в Windows, вероятно, являются одной из самых медленных настроек, которые вы можете настроить в Windows. Похоже, что Apache все еще может понадобиться (он работает с php-fcgi), но я бы предпочел решение nginx.

Я также до сих пор не понимаю (и хотел бы получить образование), почему необходимы плагины HTTP-сервера, и у нас не может быть PHP-независимого решения для веб-сервера.

Да это внутренний reconbot
Есть ли что-то еще, что я могу добавить, чтобы улучшить этот вопрос? reconbot
Это внутреннее приложение за брандмауэром? Bob Aman

Ваш Ответ

5   ответов
0

жба аутентификации).

Error: User Rate Limit Exceeded

Error: User Rate Limit ExceededError: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

1

Error: User Rate Limit Exceeded
1

которую мне нужно было решить для моей организации.

Error: User Rate Limit ExceededadLDAP.

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded reconbot
Error: User Rate Limit Exceededadldap.sourceforge.net/wiki/doku.php?id=seamless_authenticationError: User Rate Limit Exceeded reconbot
17

mod_auth_sspi Модуль Apache.

Пример конфигурации:

AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain mydomain

# Set this if you want to allow access with clients that do not support NTLM, or via proxy from outside. Don't forget to require SSL in this case!
SSPIOfferBasic On

# Set this if you have only one domain and don't want the MYDOMAIN\ prefix on each user name
SSPIOmitDomain On

# AD user names are case-insensitive, so use this for normalization if your application's user names are case-sensitive
SSPIUsernameCase Lower
AuthName "Some text to prompt for domain credentials"
Require valid-user

И не забывайте, что вы также можетеError: User Rate Limit Exceeded: Просто перейдите наabout:config, ищиnetwork.automatic-ntlm-auth.trusted-urisError: User Rate Limit Exceeded

Error: User Rate Limit Exceeded reconbot
0

function EnableAuthentication()
{
    $realm = "yoursite";
    header('WWW-Authenticate: Digest realm="'.$realm.'",qop="auth",nonce="'.uniqid().'",opaque="'.md5($realm).'"');
    header("HTTP/1,.1 401 Unauthorized"); 
    exit;
}

$winuser = $_SERVER["REMOTE_USER"];

Error: User Rate Limit Exceeded reconbot
Error: User Rate Limit Exceeded

Похожие вопросы