Rumah pembangunan bahagian belakang tutorial php 用Php如何操作LDAP_PHP

用Php如何操作LDAP_PHP

Jun 01, 2016 pm 12:43 PM
ds info ldap bagaimana beroperasi guna menyambung

LDAP

1 LDAP是什么
        LDAP是一个用来发布目录信息到许多不同资源的协议。通常它都作为一个集中的地址本使用,不过根据组织者的需要,它可以做得更加强大。
  LDAP最基本的形式是一个连接数据库的标准方式。该数据库为读查询作了优化。因此它可以很快地得到查询结果,不过在其它方面,例如更新,就慢得多。要特别注意的是,LDAP通常作为一个hierarchal数据库使用,而不是一个关系数据库。因此,它的结构用树来表示比用表格好。正因为这样,就不能用SQL语句了。

  简单说来,LDAP是一个得到关于人或者资源的集中、静态数据的快速方式。

    LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写,其实是一话号码簿,类似于我们所使用诸如NIS(Network Information Service)、DNS (Domain Name Service)等网络目录,也类似于你在花园中所看到的树木。 
    LDAP是一种特殊的数据库。但是LDAP和一般的数据库不同,明白这一点是很重要的。 LDAP对查询进行了优化,与写性能相比LDAP的读性能要优秀很多。
1.1 LDAP的存储规则
    区分名(DN,Distinguished Name) 
    和自然界中的树不同,文件系统/LDAP/电话号码簿目录的每一片枝叶都至少有一个独一无二的属性,这一属性可以帮助我们来区别这些枝叶。 
    在文件系统中, 这些独一无二的属性就是带有完整路径的文件名。比如/etc/passwd,该文件名在该路径下是独一无二的。当然我们可以有/usr/passwd, /opt/passwd,但是根据它们的完整路径,它们仍然是唯一的。 
    在LDAP中,一个条目的区分名称叫做“dn”或者叫做区分名。在一个目录中这个名称总是唯一的。比如,我的dn是"uid=aghaffar, ou=People, o=developer.ch"。不可能有相同的dn,但是我们可以有诸如"uid=aghaffar, ou=Administrators, o=developer.ch"的dn。这同上面文件系统中/etc/passwd 和 /usr/passwd的例子很类似。 
    我们有独一无二的属性,在"ou=Administrators, o=developer.ch" 中uid和在"ou=People, o=developer.ch"中的uid。这并不矛盾。
CN=Common Name 为用户名或服务器名,最长可以到80个字符,可以为中文;
OU=Organization Unit为组织单元,最多可以有四级,每级最长32个字符,可以为中文;
O=Organization 为组织名,可以3—64个字符长
C=Country为国家名,可选,为2个字符长

    LDAP目录以一系列“属性对”的形式来存储记录项,每一个记录项包括属性类型和属性值(这与关系型数据库用行和列来存取数据有根本的不同)。
mail = testmail@mccc.net
othermailbox = testmailother@mccc.com
givenname = givenname
sn = test sn
属性可添加,以下一个属性必须赋值:
objectclass=person (值为:person 或 server 或 organization 或 其他自定义的值)

2 Php如何操作LDAP
2.1 Php如何与LDAP连接和关闭
$ds=ldap_connect("ServerName")
ServerName是LDAP的服务器名,

例:
$ds=ldap_connect(“10.31.172.30:1000”)
返回值是:true 或 false

关闭连接
ldap_close($ds);

2.2 在php中如何搜索用户信息

$ds=ldap_connect("10.31.172.30:1000");
//首先连接上服务器
$justthese = array("cn","userpassword",”location”);
//搜索函数中的一个参数,要求返回哪些信息,
//以上传回cn,userpassword,location,这些都要求小写
$sr=ldap_search($ds,"o=jite", "cn=dom*",$justthese); 
//第一个参数开启LDAP的代号
//第二个参数最基本的 dn 条件值 , 例:”o=jite,c=cn”
//第三个参数 filter 为布林条件,它的语法可以在 Netscape 站上找一份 dirsdkpg.pdf 档案.
// ’o’为组织名,’cn’ 为用户名,用户名可用通配符 ’*’
echo "domadmin姓氏有".ldap_count_entries($ds,$sr)." 个

";
//ldap_count_entries($ds,$sr)传回记录总数

$info = ldap_get_entries($ds, $sr);
//LDAP的全部传回资料
echo "资料传回 ".$info["count"]."笔:

";
for ($i=0; $iecho "dn为:". $info[$i]["dn"] ."
";
echo "cn为:". $info[$i]["cn"][0] ."
"; //显示用户名
echo "email为:". $info[$i]["mail"][0] ."

"; //显示mail
echo "email为:". $info[$i][“userpassword"][0] ."

"; //显示加密后的密码
}
2.3 添加用户
$ds=ldap_connect("10.31.172.30:1000");
//首先连接上服务器
$r=ldap_bind($ds,"cn=domadmin,o=jite","password");
//系住一个管理员,有写的权限
// cn=domadmin,o=jite顺序不能变
$info["cn"]="aaa"; //必填 
$info["userpassword"]="aaa"; 
$info["location"]="shanghai";
$info["objectclass"] = "person"; //必填person为个人,还有server…
ldap_add($ds, "cn=".$info["cn"].",o=jite", $info);
ldap_unbind($ds);
//取消绑定
ldap_close($ds);
//关闭连接
2.4 删除用户
$ds=ldap_connect("10.31.172.30:1000");
//首先连接上服务器 
ldap_bind($ds,"cn=domadmin,o=jite","password");
//绑定管理员,有删除的权限
$dn="cn=dingxf,o=jite";
ldap_delete($ds, $dn);
//删除用户
ldap_unbind($ds);
//取消绑定
ldap_close($ds);
//关闭连接
2.5 修改用户资料
$ds=ldap_connect("10.31.172.30:1000");
//首先连接上服务器 
ldap_bind($ds,"cn=domadmin,o=jite","password");
//绑定管理员,有修改的权限
$dn="cn=dingxf,o=jite"; 
//用户dn
$info["userpassword"]="aaa"; //要修改的信息,放在数组变量中
$info["location"]="shanghaisdaf";

ldap_modify($ds, $dn , $info);
//修改函数
ldap_unbind($ds);
//取消绑定
ldap_close($ds);
//关闭连接
2.6 用户登录验证
$ds=ldap_connect("10.31.172.30:1000");
//首先连接上服务器 
if (ldap_bind($ds,"cn=dingxf,o=jite","dingxf")){
echo "验证通过";
}else{
echo "验证不通过";
}
ldap_unbind($ds);
//取消绑定
ldap_close($ds);
//关闭连接

   


注:此方法比较简单,实用,它也有不足之处,如果不通过,ldap_bind()提示它自带的提示语:”Warning: LDAP: Unable to bind to server: Inappropriate authentication in /home/htdocs/jldl.net/ldap/test.php3 on line 16”
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara sambung jaga lemak badan skali Cara sambung jaga lemak badan skali Mar 07, 2024 pm 04:50 PM

Bagaimana untuk menyambungkan penimbang lemak badan yang disimpan? editor membawa kepada pengguna , pengguna yang berminat datang dan lihat! Cara menyambungkan skala simpan lemak badan 1. Mula-mula buka perisian simpan, pergi ke halaman utama dan klik [Saya] di sudut kanan bawah untuk memilih [Perkakasan Pintar] 2. Kemudian pada halaman Peranti Pintar Saya, klik butang Butang [Tambah Peranti] di tengah 3 , kemudian pilih peranti yang anda ingin tambah antara muka, pilih [Smart Body Fat/Weight Scale] 4. Kemudian pada halaman pemilihan model peranti, klik pilihan [keep body fat scale]. ; 5. Akhir sekali, dalam antara muka yang ditunjukkan di bawah, akhirnya [Tambah Sekarang] di bahagian bawah

Tutorial penggunaan PyCharm: membimbing anda secara terperinci untuk menjalankan operasi Tutorial penggunaan PyCharm: membimbing anda secara terperinci untuk menjalankan operasi Feb 26, 2024 pm 05:51 PM

PyCharm ialah persekitaran pembangunan bersepadu (IDE) Python yang sangat popular. Ia menyediakan pelbagai fungsi dan alatan untuk menjadikan pembangunan Python lebih cekap dan mudah. Artikel ini akan memperkenalkan anda kepada kaedah operasi asas PyCharm dan menyediakan contoh kod khusus untuk membantu pembaca memulakan dengan cepat dan menjadi mahir dalam mengendalikan alat tersebut. 1. Muat turun dan pasang PyCharm Pertama, kita perlu pergi ke laman web rasmi PyCharm (https://www.jetbrains.com/pyc

Apakah sudo dan mengapa ia penting? Apakah sudo dan mengapa ia penting? Feb 21, 2024 pm 07:01 PM

sudo (eksekusi superuser) ialah arahan utama dalam sistem Linux dan Unix yang membenarkan pengguna biasa menjalankan perintah tertentu dengan keistimewaan root. Fungsi sudo dicerminkan terutamanya dalam aspek berikut: Menyediakan kawalan kebenaran: sudo mencapai kawalan ketat ke atas sumber sistem dan operasi sensitif dengan membenarkan pengguna mendapatkan kebenaran superuser buat sementara waktu. Pengguna biasa hanya boleh mendapatkan keistimewaan sementara melalui sudo apabila diperlukan, dan tidak perlu log masuk sebagai pengguna super sepanjang masa. Keselamatan yang dipertingkatkan: Dengan menggunakan sudo, anda boleh mengelak daripada menggunakan akaun akar semasa operasi rutin. Menggunakan akaun akar untuk semua operasi boleh menyebabkan kerosakan sistem yang tidak dijangka, kerana sebarang operasi yang salah atau cuai akan mempunyai kebenaran penuh. dan

Pencetak yang dikongsi tidak boleh menyambung ke pencetak Pencetak yang dikongsi tidak boleh menyambung ke pencetak Feb 22, 2024 pm 01:09 PM

Dengan perkembangan era digital, pencetak kongsi telah menjadi bahagian yang amat diperlukan dalam persekitaran pejabat moden. Walau bagaimanapun, kadangkala kita mungkin menghadapi masalah bahawa pencetak yang dikongsi tidak boleh disambungkan ke pencetak, yang bukan sahaja akan menjejaskan kecekapan kerja, tetapi juga menyebabkan beberapa siri masalah. Artikel ini bertujuan untuk meneroka sebab dan penyelesaian mengapa pencetak kongsi tidak boleh bersambung ke pencetak. Terdapat banyak sebab mengapa pencetak yang dikongsi tidak boleh menyambung ke pencetak, yang paling biasa ialah isu rangkaian. Jika sambungan rangkaian antara pencetak kongsi dan pencetak tidak stabil atau terganggu, operasi biasa tidak akan dapat dilakukan.

Langkah-langkah operasi dan langkah berjaga-jaga Deploy Linux Langkah-langkah operasi dan langkah berjaga-jaga Deploy Linux Mar 14, 2024 pm 03:03 PM

Langkah pengendalian dan langkah berjaga-jaga LinuxDeploy LinuxDeploy ialah alat berkuasa yang boleh membantu pengguna menggunakan pelbagai pengedaran Linux dengan pantas pada peranti Android, membolehkan pengguna mengalami sistem Linux yang lengkap pada peranti mudah alih mereka. Artikel ini akan memperkenalkan langkah pengendalian dan langkah berjaga-jaga LinuxDeploy secara terperinci dan memberikan contoh kod khusus untuk membantu pembaca menggunakan alat ini dengan lebih baik. Langkah-langkah operasi: Pasang LinuxDeploy: Pertama, pasang

Cara menyambungkan jam tangan OnePlus ke set kepala Bluetooth_Cara menyambung jam tangan OnePlus ke set kepala Bluetooth Cara menyambungkan jam tangan OnePlus ke set kepala Bluetooth_Cara menyambung jam tangan OnePlus ke set kepala Bluetooth Mar 23, 2024 pm 01:16 PM

1. Letakkan fon telinga dalam kotak fon telinga dan pastikan penutupnya terbuka Tekan dan tahan butang pada kotak untuk memasuki keadaan berpasangan fon telinga. 2. Hidupkan fungsi muzik jam tangan dan pilih fon kepala Bluetooth, atau pilih fon kepala Bluetooth dalam fungsi tetapan jam tangan. 3. Pilih set kepala pada jam tangan untuk berjaya dipasangkan.

Mengapa tiada bunyi selepas telefon saya disambungkan ke set kepala Bluetooth? Mengapa tiada bunyi selepas telefon saya disambungkan ke set kepala Bluetooth? Feb 20, 2024 am 11:42 AM

Set kepala Bluetooth telah menjadi salah satu aksesori penting dalam kehidupan moden, membolehkan kami menikmati muzik, membuat panggilan, malah menonton video pada bila-bila masa dan di mana-mana sahaja. Walau bagaimanapun, apabila menggunakan set kepala Bluetooth, kadangkala anda mungkin menghadapi beberapa masalah, seperti tiada bunyi selepas menyambung ke telefon mudah alih. Artikel ini akan memperkenalkan beberapa penyelesaian biasa untuk membantu anda menyelesaikan masalah tiada bunyi daripada set kepala Bluetooth yang disambungkan ke telefon mudah alih anda. Mula-mula, pastikan set kepala Bluetooth berjaya disambungkan ke telefon anda. Cari pilihan Bluetooth dalam tetapan telefon anda, hidupkan fungsi Bluetooth dan cari peranti yang tersedia. Apabila set kepala Bluetooth anda muncul

Langkah-langkah untuk menyambungkan pengawal permainan ke Arked Gohan Langkah-langkah untuk menyambungkan pengawal permainan ke Arked Gohan Mar 19, 2024 pm 03:55 PM

Bagaimana untuk menyambungkan pengawal Bluetooth ke Arked Gohan? Pusat Permainan Gohan ialah kotak permainan yang digunakan oleh banyak pemain permainan mudah alih. Ia mengandungi sejumlah besar sumber permainan yang popular dan fungsi yang berkaitan dengan permainan Di bawah, editor akan memperkenalkan kaedah sambungan pengawal permainan, sila lihat. 1. Mula-mula pergi ke halaman utama APP Pusat Permainan Gohan, dan kemudian klik pilihan "Saya" di sudut kanan bawah halaman utama 2. Cari fungsi [Pengawal] dalam halaman Saya, lokasi ditunjukkan dalam gambar; di bawah, dan klik untuk pergi ke tetapan; 3. Pilih untuk menghidupkannya Untuk fungsi Bluetooth telefon mudah alih, sahkan bahawa kuasa pengawal dihidupkan; Jika sambungan berjaya, anda boleh menggunakan permainan mudah alih untuk mengalami pelbagai permainan.

See all articles