我是使用LDAP的新手,并且一直在研究如何使用PHP和LDAP。理解它也有点压倒性,虽然我想要做的事情并不复杂,所以我想通过一些指导我可以实现它。我想知道怎么做才能找到当前计算机通过LDAP登录的唯一用户名或密钥。每个用户都有自己的计算机登录。如果我能够回显当前登录计算机用户名的值,我可以找到我需要的其他所有内容。有人可以提供一些指导,创建一个简单的连接来提取用户名。我认为这将是会话价值。
感谢您的帮助!!
答案 0 :(得分:0)
不确定php是否可以访问当前的计算机数据。公司可以将其目录用作所有访问凭证的集中位置。使用php,您可以:
<?php
function authorizeUserWithLdap($user,$pass){
$ldaphost = "ldap.yourldaphost.com";
$ldapport = 389; //default ldap port
//establish connection to ldap
$connect = ldap_connect($ldaphost,$ldapport);
if(!$connect){
return "Error connecting to LDAP";
}else{
//if successfully connected try to bind with the $user, $pass credentials
if(ldap_bind($connection,$user,$pass){
//If able to bind with user, start session and return message
session_start();
$_SESSION['user'] = $user;
$_SESSION['status'] = 'logged in';
return "Successfully Authorized"
}else{
return "wrong user or pass" ;
}
}
}
echo authorizeUserWithLdap("User","Pass");
?>
这是基础知识。现在,Active Directory上的用户可以使用同一用户登录您的应用程序,并将他们登录到他们的计算机。还有一些行可用于强制执行LDAP版本和安全连接。成功绑定后,您可能希望使用ldap_search()获取一些用户数据,并将其存储在$ _SESSION变量中,例如用户真实姓名,帐户权限等。