Я поддерживаю веб-сайт интранета для крупной компании. Поскольку сбой в текущей системе аутентификации пользователей, мне пришлось разработать срочное решение. Вот упрощенный кодНайти имя пользователя с 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