Fórum Recuperar dados login - PHP/LDAP #596365
14/08/2018
0
Tenho um sistema (intranet) desenvolvido em PHP com login LDAP (Active Directory Windows). O acesso/conexão ocorre perfeitamente.
O que eu quero é recuperar as informações do usuário logado. Tentei usando ldap_search, ldap_read, ldap_get_values mas não sei onde estou errando.
Minha estrutura basicamente é assim: index com o formulário que solicita user/pass que chama o ''arquivo'' que verifica o login digitado. Nesse verificador se o login passar, chama a página home.
Alguém tem alguma ideia de como recuperar e exibir na home, por exemplo, o nome do usuário logado?
Agradeço desde já.
Códigos para clarear melhor:
index.php
<?php
session_start();
?>
<html>
<head>
<script language="JavaScript" type="text/javascript" src="js/funcs.js"></script>
</head>
<body background="imagens/background.jpg">
<form method="post" action="verif.php" name="form" AUTOCOMPLETE=''ON'' onSubmit="return valida()">
<center>
<br>
<h1>Titulo</h1>
<br>
<br>
Usuario:<br>
<input type="text" name="usu" size="50" maxlength="50" >
<br>
Senha:<br>
<input type="password" name="senha" size="50" maxlength="9" >
<br><br>
<input type="submit" value="Entrar">
</center>
</form>
</body>
</html>
verif.php
<?php
set_time_limit(0);
function valida_ldap($srv, $usr, $pwd)
{
$ldap_server = $srv;
$auth_user = $usr;
$auth_pass = $pwd;
// Tenta se conectar com o servidor
if (!($connect = @ldap_connect($ldap_server))){
return FALSE;
}
// Tenta autenticar no servidor
if (!($bind = @ldap_bind($connect, $auth_user, $auth_pass))) {
// se nao validar retorna false
return FALSE;
} else {
// se validar retorna true
return TRUE;
}
} // fim funcao conectar ldap
$dominio = "@dominio.com.br";
$usu = $_REQUEST[''usu''].$dominio;
$senha = $_REQUEST[''senha''];
$ip_server = "ip_servidor";
if (valida_ldap($ip_server, $usu, $senha)) {
echo "Usuário autenticado.<br>";
session_start();
$_SESSION[''usu''] = $usu;
header("Location: home.php");
}else {
echo "<center><br><br>";
echo "<h2>Usuário ou Senha Inválidos.";
echo "<br><br><input type=''button'' value=''voltar'' onclick=''location.href=\\\\\\\\"index.php\\\\\\\\";''>";
}
?>
Bruno
Curtir tópico
+ 0Post mais votado
14/08/2018
Pelo que vi do seu código, você esta salvando na sessão os dados corretamente, na linha 37
$_SESSION["usu"] = $usu;
Você pode criar uma página chamada teste.php e nela colocar o código abaixo:
<?php var_dump($_SESSION); ?>
Assim, depois que você autenticar, abra esse arquivo! Você ira ver tudo que esta salvo na sessão! Se o usuário estiver lá corretamente, perfeito! Basta você adicionar na home a abertura da sessão como feito anteriormente (session_start() ) e depois exibir $_SESSION["USU"]
Agora se no arquivo teste.php não mostrar nenhum valor na sessão, o erro esta na hora de atribuiir.
Vlw
Rafael Penido
Gostei + 1
Mais Posts
14/08/2018
Bruno
code.
Gostei + 0
14/08/2018
Bruno
Pelo que vi do seu código, você esta salvando na sessão os dados corretamente, na linha 37
$_SESSION["usu"] = $usu;
Você pode criar uma página chamada teste.php e nela colocar o código abaixo:
<?php var_dump($_SESSION); ?>
Assim, depois que você autenticar, abra esse arquivo! Você ira ver tudo que esta salvo na sessão! Se o usuário estiver lá corretamente, perfeito! Basta você adicionar na home a abertura da sessão como feito anteriormente (session_start() ) e depois exibir $_SESSION["USU"]
Agora se no arquivo teste.php não mostrar nenhum valor na sessão, o erro esta na hora de atribuiir.
Vlw
Opa, isso consegui. Tudo certo!
E para recuperar os demais dados desse usuário logado?
Por exemplo, exibir o email cadastrado no AD? Já que a autenticação está correta e consigo exibir o user logado, gostaria de buscar informações desse no AD... tentei com algumas dessas funções que citei na pergunta mas sem sucesso
Valeu
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)