Author Topic: Авторизация в PHP из внешнего источника возможна?  (Read 5136 times)

0 Members and 1 Guest are viewing this topic.

Offline stranger

  • Hero Member
  • *****
  • Posts: 922
  • Karma: +0/-0
    • http://
Задача такая необходимо сделать страницу с авторизацией, но что бы не заставлять юзверей запоминать еще один пароль хотелось бы  пользовать базу виндового домена (в идеале используя NTLM).

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

З.Ы. Или как вариант заставить PostgreSQL авторизироваться из W2K3
[span style='font-family:Geneva'][span style='font-size:8pt;line-height:100%'][span style='color:gray']Единственное условие, от которого зависит успех, есть терпение.   Л.Н.Толстой
[/span][/span][/span]

Offline visual

  • Hero Member
  • *****
  • Posts: 714
  • Karma: +0/-0
    • http://
Quote from: stranger
Задача такая необходимо сделать страницу с авторизацией, но что бы не заставлять юзверей запоминать еще один пароль хотелось бы  пользовать базу виндового домена (в идеале используя NTLM).
не авторизацию, а аутентификацию. и при чем тут php? аутентификацией должен заниматься web сервер, видимо в твоем случае апач.
http://modntlm.sourceforge.net/

Quote from: stranger
З.Ы. Или как вариант заставить PostgreSQL авторизироваться из W2K3
это как?

Offline stranger

  • Hero Member
  • *****
  • Posts: 922
  • Karma: +0/-0
    • http://
Quote from: visual
не авторизацию, а аутентификацию. и при чем тут php? аутентификацией должен заниматься web сервер, видимо в твоем случае апач.
http://modntlm.sourceforge.net/

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

З.Ы. Хм... Только похоже проект с 2004 уже не развивается... Ладно будем смотреть и еще копать...
« Last Edit: October 05, 2006, 14:13:27 by stranger »
[span style='font-family:Geneva'][span style='font-size:8pt;line-height:100%'][span style='color:gray']Единственное условие, от которого зависит успех, есть терпение.   Л.Н.Толстой
[/span][/span][/span]

Offline visual

  • Hero Member
  • *****
  • Posts: 714
  • Karma: +0/-0
    • http://
Quote from: stranger
Ну это было просто дикое предположение - MSSQL и Oracle ведь могут пользовать доменные пароли.
ты хочешь сделать аналог того, что есть у m$? т.е. юзер идет на веб-сайт, который требует доменную аутентификацию. если аутентификация прошла успешно, то веб-сервер используя механизмы имперсонализации подключается к mssql с правами пользователя. это?

м.б. имеет смысл посмотреть в сторону apache + postgres + kerberos. сам не пробовал, попробуй ты, нам расскажешь

Offline stranger

  • Hero Member
  • *****
  • Posts: 922
  • Karma: +0/-0
    • http://
Quote from: visual
ты хочешь сделать аналог того, что есть у m$? т.е. юзер идет на веб-сайт, который требует доменную аутентификацию. если аутентификация прошла успешно, то веб-сервер используя механизмы имперсонализации подключается к mssql с правами пользователя. это?

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

З.Ы. Нашел тут практически универсальную реализацию модуля аутентификации на PHP - включает много способов - http://freshmeat.net/projects/phpsasl/
[span style='font-family:Geneva'][span style='font-size:8pt;line-height:100%'][span style='color:gray']Единственное условие, от которого зависит успех, есть терпение.   Л.Н.Толстой
[/span][/span][/span]

Offline SlyF0X

  • Newbie
  • *
  • Posts: 41
  • Karma: +0/-0
Можно и через 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...";}
}
?>

Offline stranger

  • Hero Member
  • *****
  • Posts: 922
  • Karma: +0/-0
    • http://
Спасибо за подсказку.
После оценки всех возможностей я подумал именно там и поступить.
Тем более, что php-ldap идет в поставке RHEL
[span style='font-family:Geneva'][span style='font-size:8pt;line-height:100%'][span style='color:gray']Единственное условие, от которого зависит успех, есть терпение.   Л.Н.Толстой
[/span][/span][/span]