Boa tarde pessoal.
Preciso de ajuda com esse script. Tenho uma intranet em php na empresa num servidor ubuntu e no outro servidor temos o Active Directory com todos os funcionários cadastrados. Eu preciso fazer com que ao fazer login na página da intranet, ele verifique no AD o usuário e a senha e caso o usuário seja cadastrado ele consiga logar na página. Consegui achar uns scripts pela internet, porém ele não esta verificando no AD se o usuário existe e não está autenticando ele.
Segue os scripts:
No Index.php, o funcionário coloca o usuário e a senha.
Index.php
<?php
session_start('sessao');
?>
<html>
<head>
<script language="JavaScript" type="text/javascript" src="funcs.js"></script>
</head>
<body>
<form method="post" action="verif.php" name="form" AUTOCOMPLETE='ON' onSubmit="return valida()">
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">
</form>
</body>
</html>
Aqui no verifica.php ele teria que verificar se os dados no login estão certos lá no AD e logar o usuário na intranet, porém dá esse erro:
"; session_start(); $_SESSION['usu'] = $usu; header("Location: painel.html"); }else { echo "Usuario ou Senha Invalidos"; echo "
"; } ?>
Mesmo o usuário e a senha estando certos, ele não loga de jeito nenhum.
verifica.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 = "@meudominio.local";
$usu = $_REQUEST['usu'].$dominio;
$senha = $_REQUEST['senha'];
$ip_server = "192.168.1.3";
if (valida_ldap($ip_server, $usu, $senha)) {
echo "usuario autenticado<br>";
session_start();
$_SESSION['usu'] = $usu;
header("Location: painel.html");
}else {
echo "Usuario ou Senha Invalidos";
echo "<br><input type='button' value='voltar' onclick='location.href=\"index.html\";'>";
}
?>
E o funcs.js é só pra não tentar logar sem escrever os dados.
funcs.js
function valida() {
if (form['usu'].value == "") {
alert("O campo USUARIO e obrigatorio");
form['usu'].focus();
return false
}
if (form['senha'].value == "") {
alert("O campo SENHA e obrigatorio");
form['senha'].focus();
return false
}
}
Se alguém puder me ajudar e dizer onde está o problema e como consigo resolver isso, eu ficarei muito grato!
Desde já agradeço!