PDA

View Full Version : استفاده از یوزرهای active directory در php



sara333
شنبه 10 اردیبهشت 1390, 16:30 عصر
سلام
یه سوال؟
آیا امکان استفاده از یوزر وپسورد های active directory در برنامه های php وجود داره ؟
یعنی منظورم اینه که اگر داخل یه برنامه php نیاز باشه که یوزر و پسورد تعریف بشه ، آیا این امکان وجود داره که نخوان دستی مثلا تو 1 سازمان 400 تا یوزر و پس رو تعریف کنن؟ و به جای اون بیان از ساختار شبکه استفاده کنند و در صورتی که شبکه domain باشه و active directory داشته باشه چون برای هر کاربری تو شبکه یوزر و پسورد تعریف شده ، بیان از همونا استفاده کنن و بخونن و بیارن تو برنامه؟
شنیدم که یه چیزی به اسم LDAP وجود داره ، ولی اصلا نمیدونم چی هست و چجوری باید این کارو انجام بدم؟
کسی آشنایی داره؟ تا حالا این کارو انجام داده ؟ میشه یکم راهنمایی کنید؟
ممنون

sara333
دوشنبه 12 اردیبهشت 1390, 15:13 عصر
سلام
من یه چیزایی پیدا کردم :

<?php

$ad = ldap_connect("192.168.0.2")
or die("Couldn't connect to AD!");

// Bind to the directory server.
$bd = ldap_bind($ad) or
die("Couldn't bind to AD!");

echo "SUCCESS!";

echo $bd ;


$atr=array("IP","TM");
$result = ldap_search($ad, $dn,"cn=*", $atr);

?>

خروجی هم اینه:
SUCCESS!1
Warning: ldap_search() [function.ldap-search (http://localhost/ldap/function.ldap-search)]: Search: Operations error in C:\xampp\htdocs\ldap\ldap.php on line 23


میتونید یه راهنمایی کنید؟ چه مشکلی داره؟
خط 23 هم میشه این

$result = ldap_search($ad, $dn,"cn=*", $atr);
(الان به اکتیودایرکتوری وصل شده ولی نمیتونه یوزر ها رو سرچ کنه )

sara333
یک شنبه 25 اردیبهشت 1390, 10:36 صبح
سلام
مشکل وصل شدن به اکتیودایرکتوری و مشاهده کاربرا فعلا حل شد ( با استفاده از تابع ldap_list به جای ldap_search)
الان مشکل دیگه این هست که من میتونم همه ی مشخصات کاربر تعریف شده رو ببینم مثل ایمیلش یا ........ ولی من به پسورد کاربرا هم احتیاج دارم و اینجور که بنظرمیاد روی اکتیودایرکتوریامکان مشاهده لیست پسورد ها نیست و تنها میشه یه پسورد رو ریست کرد . ( 1- آیا همچین مسئله ای درسته؟ یعنی هیچ راحی تنظیماتی چیزی وجود نداره ؟) من احتیاج دارم که هم یوزرنیم ها و هم پسورد ها رو بخونم و بیارم تو برنامم !
2- حالا فرض کنیم لیست پسورد ها رو نشه دید ، ولی آیا این امکان وجود داره که من یوجوری بتونم با این یوزر و پسورد اعتبارسنجی کنم؟

رضا قربانی
یک شنبه 25 اردیبهشت 1390, 12:32 عصر
مرسی که خودت سوال می پرسی و خودت جواب خودت رو می دی :لبخند:

لابد بعدی هم خودت جواب خودت رو می دی دیگه

shahriyar3
یک شنبه 25 اردیبهشت 1390, 12:49 عصر
سلام


session_start();
$adServer = "127.0.0.1"; #jaygozin konid ba ip domain
$ldapconn = ldap_connect($adServer)
or $this->msg = "Could not connect to LDAP server.";


بعد يك فرم Html درست ميكنيد كه مقادير يوزر نيم و پسورد و از كاربر دريافت كنه


$ldaprdn = $adServer . "\\" . $_POST["email"];
$ldapbind = ldap_bind($ldapconn, $ldaprdn, $_POST["password"]);


if ($ldapbind) {
$msg = "Successfully Authenticated";
$_SESSION['email'] = $email;
$_SESSION['password'] = $password;
return true;
} else {
$msg = "Invalid email address / password";
return false;
}

shahriyar3
یک شنبه 25 اردیبهشت 1390, 13:45 عصر
http://adldap.sourceforge.net/wiki/doku.php?id=api
http://adldap.sourceforge.net/download.php
\

API Function Reference Guide



Calling adLDAP



Connecting and Disconnecting (http://adldap.sourceforge.net/wiki/doku.php?id=api_connections)



Configuration



Configuration Settings (http://adldap.sourceforge.net/wiki/doku.php?id=api_configuration)
Configuration Overloading (http://adldap.sourceforge.net/wiki/doku.php?id=api_overloading)



Functions



User Management and Authentication Functions (http://adldap.sourceforge.net/wiki/doku.php?id=api_user_functions)
Group Management Functions (http://adldap.sourceforge.net/wiki/doku.php?id=api_group_functions)
Folder and Structure Functions (http://adldap.sourceforge.net/wiki/doku.php?id=api_folder_functions)
Contact Management Functions (http://adldap.sourceforge.net/wiki/doku.php?id=api_contact_functions)
Microsoft Exchange Management Functions (http://adldap.sourceforge.net/wiki/doku.php?id=api_exchange_functions)
Computer Information Functions (http://adldap.sourceforge.net/wiki/doku.php?id=api_computer_functions)



Error Handling



Error Messages and Exceptions (http://adldap.sourceforge.net/wiki/doku.php?id=api_error_handling)



Active Directory Schema



adLDAP attribute mapping to Active Directory attributes (http://adldap.sourceforge.net/wiki/doku.php?id=api_schema)



Miscellaneous



Examples (http://adldap.sourceforge.net/wiki/doku.php?id=api_examples)
Changelog (http://adldap.sourceforge.net/wiki/doku.php?id=api_changelog)
Accented Characters (http://adldap.sourceforge.net/wiki/doku.php?id=api_accentedcharacters)
Active Directory Paging Support (http://adldap.sourceforge.net/wiki/doku.php?id=api_pagingsupport)

sara333
یک شنبه 25 اردیبهشت 1390, 15:11 عصر
سلام و ممنون
چه کنیم دیگه کارمون گیره :چشمک: شما از دور روحیه بدین
شاید این مشکل ما حل شد :لبخندساده:

sara333
دوشنبه 26 اردیبهشت 1390, 10:42 صبح
سلام
مشکل حل شد :لبخند:
این لینک خیلی بدردم خورد .

باشد برای آیندگان :لبخند:http://code.activestate.com/recipes/101525-ldap-authentication/