1
我維護一家大型公司的Intranet網站。由於當前的用戶認證系統發生故障,我不得不制定緊急的解決方案。 下面是簡化的代碼使用LDAP查找用戶名
$usr=$_POST['user'];
$psw=$_POST['code'];
if(!strlen($psw))
$psw="x";
// because empty password works fine for any user
$ldap= ldap_connect("LDAP://ldapserver.xxx.local");
if(!$ldap)
exit(0);
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldap, LDAP_OPT_OPT_REFERRALS, 0);
if($bind = @ldap_bind($ldap, $usr, $psw){
header("Location: http:10.xx.xx.xx/entrance.php?id=$usr");
// login OK, look for user privileges
}else{
header("Location: http:10.xx.xx.xx/login.php?INV=1");
// back to login page
}
代碼工作得很好,但我不希望用戶必須輸入他們的網絡用戶名和密碼, 當用戶來到這個頁面,連接和匿名綁定LDAP服務器,一個頁面可以獲取有關此用戶的用戶名的信息。
而且這將是一個巨大的獎金,如果它可以給一些額外的信息,如姓名,代碼分支,分支,郵件地址...等
那麼你將不得不要求登錄憑據來啓用LDAP服務器授予用戶會話認證 – Suyash 2013-03-19 15:52:39