Найти - Пользователи
Полная версия: python-ldap -> авторизация пользователя в AD
Начало » Network » python-ldap -> авторизация пользователя в AD
1 2 3 4
vak
Задача : проверить логин и пароль пользователя в Active Directory
Вроде как задача должна быть выполнимой для python-ldap, но не получается:

import ldap

server = 'ldap://192.168.0.3:389'
username = 'User'
password = 'Passwd'

l = ldap.initialize(server)
l.protocol_version = 3
s = l.simple_bind_s(username,password)
print s
Возможно есть уже готовые решения, подскажите плиз?
Vader
Если машина с которой вы собираетесь проверять логин находится в домене, то можно сделать при помощи PyWin32:
import win32security
try:
win32security.LogonUser('username','domain', 'password',win32security.LOGON32_LOGON_NETWORK, win32security.LOGON32_PROVIDER_DEFAULT)
except:
print 'Invalid credentials'
else:
print 'Ok'
Если разберетесь как сделать это при помощи python-ldap, напишите результат. Я сколько не колдовал, у меня так и не получилось :(
vak
Vader
Если машина с которой вы собираетесь проверять логин находится в домене, то можно сделать при помощи PyWin32:
В том и дело, что даже не MSWindows. Обращения в AD с Linux.
asilyator
Уточним терминологию.
AD - в Windows или Unix (samba) - видновый домен
LDAP - Unix.

Тебе нужна AD или таки LDAP?
Vader
asilyator
Уточним терминологию.
AD - в Windows или Unix (samba) - видновый домен
LDAP - Unix.

Тебе нужна AD или таки LDAP?
Можно я уточню?
AD - это служба каталогов, а LDAP - это протокол доступа к службе каталогов, в том числе и к AD :)
Vader
Кстати, не знаю, что я делал до этого, но только что попробовал и у меня, как ни странно, получилось залогиниться. Причем как в свой домен, так и в 2 чужих (в одном односторонний траст, в другом траста нет вообще). Попробуйте указать домен перед именем:
username = r'domain\user'
без этого в чужие домены оно логиниться не хочет.
asilyator
Vader
Можно я уточню?
AD - это служба каталогов, а LDAP - это протокол доступа к службе каталогов, в том числе и к AD
AD есть и не мелкомягкий? Или по LDAP можно получить доступ к виндовому AD?
Vader
asilyator
AD есть и не мелкомягкий? Или по LDAP можно получить доступ к виндовому AD?
Не совсем так. Смотрите, существуют такие штуки, как службы каталогов. Вот Active Directory - это просто название одной из реализаций таких служб, и помимо AD существует еще куча всяких реализаций, например, OpenLDAP, Apache Directory, Novell NDS и т.п. Основное предназначение всех этих служб - хранить данные о различных ресурсах (пользователи, сетевые ресурсы и тп) в структурированном виде.
LDAP же - это стандартизированный _протокол_ который позволяет получать информацию о ресурсах из служб каталогов по сети. Расшифровывается он как Lightweight Directory Access Protocol. Все вменяемые службы каталогов его поддерживают, и Active Directory не исключение.

уффф… все… поумничал :)
asilyator
Видновый AD поддерживает LDAP? o_O
Vader
asilyator
Видновый AD поддерживает LDAP? o_O
Вас зациклило что ли?
http://msdn.microsoft.com/en-us/library/aa772152
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB