ThinkPHP域控认证整合教程Php

印迹发布于:2019-3-21 1116

1. PHP如何实现AD域认证?
$host = $_REQUEST['host'];
$user =  $_REQUEST['username'].'@ad.test.demo';;
'用户名@域名';
$pswd = $_REQUEST['password'];;
//1.用户登陆认证
$conn = ldap_connect($host) or die( 'Could not connect!' );
if($conn){
//设置参数
ldap_set_option ( $conn, LDAP_OPT_PROTOCOL_VERSION, 3 );
ldap_set_option ( $conn, LDAP_OPT_REFERRALS, 0 ); // Binding to ldap server
echo $user.'/'.$pswd;
$bd = ldap_bind($conn, $user, $pswd)  or die ('Could not bind');
if($bd){
echo 'ldap_bind success';
}else{
echo 'ldap_bind fail';
}
}else{
echo 'Unable to connect to AD server';
}


2. 使用AD域认证:
<?php
$user = $_POST ['name'];
$password = $_POST ['pwd'];
 
//设定域信息
$domain = 'a.com'; //设定域名
$basedn = 'dc=a,dc=com'; //如果域名为“b.a.com”,则此处为“dc=b,dc=a,dc=com”
 
$ad = ldap_connect ( "ldap://{$domain}" ) or die ( 'Could not connect to LDAP server.' );
ldap_set_option ( $ad, LDAP_OPT_PROTOCOL_VERSION, 3 );
ldap_set_option ( $ad, LDAP_OPT_REFERRALS, 0 );
@ldap_bind ( $ad, "{$user}@{$domain}", $password ) or die ( 'Authorization failed! Please check your username or password!' );
echo "Welcome ".$user;
?>



http://www.virplus.com/thread-224.htm
转载请注明:2019-3-21 于 VirPlus 发表

推荐阅读
最新回复 (0)

    ( 登录 ) 后,可以发表评论!

    返回