Tomsk Sysadmins Forum

Unix => Программирование => Topic started by: stranger on October 05, 2006, 11:24:58

Title: Авторизация в PHP из внешнего источника возможна?
Post by: stranger on October 05, 2006, 11:24:58
Задача такая необходимо сделать страницу с авторизацией, но что бы не заставлять юзверей запоминать еще один пароль хотелось бы  пользовать базу виндового домена (в идеале используя NTLM).

Такое кто-нибудь организовывал?
 Буду очень благодарен за инфу.

З.Ы. Или как вариант заставить PostgreSQL авторизироваться из W2K3
Title: Авторизация в PHP из внешнего источника возможна?
Post by: visual on October 05, 2006, 11:43:05
Quote from: stranger
Задача такая необходимо сделать страницу с авторизацией, но что бы не заставлять юзверей запоминать еще один пароль хотелось бы  пользовать базу виндового домена (в идеале используя NTLM).
не авторизацию, а аутентификацию. и при чем тут php? аутентификацией должен заниматься web сервер, видимо в твоем случае апач.
http://modntlm.sourceforge.net/ (http://modntlm.sourceforge.net/)

Quote from: stranger
З.Ы. Или как вариант заставить PostgreSQL авторизироваться из W2K3
это как?
Title: Авторизация в PHP из внешнего источника возможна?
Post by: stranger on October 05, 2006, 14:12:55
Quote from: visual
не авторизацию, а аутентификацию. и при чем тут php? аутентификацией должен заниматься web сервер, видимо в твоем случае апач.
http://modntlm.sourceforge.net/ (http://modntlm.sourceforge.net/)

Спасибо, покопаемси...
Ну аутентификацией (тьфу ты чуть пальцы не сломал пока писал) не обязательно заниматься веб-серверу - это можно и php организовать... А так - да у меня апач стоит.
Quote from: visual
это как?
Ну это было просто дикое предположение - MSSQL и Oracle ведь могут пользовать доменные пароли. Была надежда, что и постгреса можно обучить. В этом случае всю работу по пезопастности, т.е. ограничение доступа пользователей к определенным таблицам и т.д. можно было на базу свалить...

З.Ы. Хм... Только похоже проект с 2004 уже не развивается... Ладно будем смотреть и еще копать...
Title: Авторизация в PHP из внешнего источника возможна?
Post by: visual on October 05, 2006, 14:34:41
Quote from: stranger
Ну это было просто дикое предположение - MSSQL и Oracle ведь могут пользовать доменные пароли.
ты хочешь сделать аналог того, что есть у m$? т.е. юзер идет на веб-сайт, который требует доменную аутентификацию. если аутентификация прошла успешно, то веб-сервер используя механизмы имперсонализации подключается к mssql с правами пользователя. это?

м.б. имеет смысл посмотреть в сторону apache + postgres + kerberos. сам не пробовал, попробуй ты, нам расскажешь
Title: Авторизация в PHP из внешнего источника возможна?
Post by: stranger on October 05, 2006, 14:48:30
Quote from: visual
ты хочешь сделать аналог того, что есть у m$? т.е. юзер идет на веб-сайт, который требует доменную аутентификацию. если аутентификация прошла успешно, то веб-сервер используя механизмы имперсонализации подключается к mssql с правами пользователя. это?

м.б. имеет смысл посмотреть в сторону apache + postgres + kerberos. сам не пробовал, попробуй ты, нам расскажешь
Ну примерно да. Просто нужно доделать кафедральный сервак, что бы пользователи могли добавлять инофрмацию на страницы (основная инфа сидит в постгресе) и не городить дополнительный паролей.
Причем, естественно, чтобы они могли обновлять и добавлять только свою инфу...
Керберос - это конечно хорошо - я об этом подумывал, но для маленького сайта городить такие настройки... Я еще возможно покапаюсь...

З.Ы. Нашел тут практически универсальную реализацию модуля аутентификации на PHP - включает много способов - http://freshmeat.net/projects/phpsasl/ (http://freshmeat.net/projects/phpsasl/)
Title: Авторизация в PHP из внешнего источника возможна?
Post by: SlyF0X on October 22, 2006, 03:20:01
Можно и через PHP спросить авторизацию в домене Win2k3 через LDAP.

Алгоритм такой:
1. Спрашиваем у юзверя логин, пароль
2. Пробуем с этими логин, пароль сконектится к LDAP серверу (Win2k3)
3. В зависимости от результата дальше по месту ...

Вот пример:
<?php
// using ldap bind
$ldaprdn  = 'uname';    // ldap rdn or dn
$ldappass = 'password';  // associated password

// connect to ldap server
$ldapconn = ldap_connect("ldap.example.com") or die("Could not connect to LDAP server.");

if ($ldapconn) {
   // binding to ldap server
   $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
   // verify binding
   if ($ldapbind) { echo "LDAP bind successful...";}
   else { echo "LDAP bind failed...";}
}
?>
Title: Авторизация в PHP из внешнего источника возможна?
Post by: stranger on October 28, 2006, 14:44:17
Спасибо за подсказку.
После оценки всех возможностей я подумал именно там и поступить.
Тем более, что php-ldap идет в поставке RHEL