Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

VMG

esse script de conexão com AD

Recommended Posts

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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.