Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/08/2016, 08:05
VR1387
 
Fecha de Ingreso: abril-2016
Mensajes: 19
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: PHP con autenticancion LDAP

Buenas, no muestra el contenido de esa variable.

Entonces quiere decir que hay algo que no esta bien configurado. Lo raro es que tengo otro codigo que valida contra mi dominio y este codigo no lo hace.

Lo que no se es como sacar el Nombre y Apellido que lo consulta. Quiere decir el usuario se logea con ejm

jperez <- Usuario de dominio

Lo que quiero sacar es el nombre y apellido de este seria Jose Perez.

Este codigo hacer la consulta a ver si el usuario de dominio introducido existe.

Código:
<?php 
require_once("config.php"); 
function mailboxpowerloginrd($user,$pass){ 
     $ldaprdn = trim($user).'@'.DOMINIO;  
     $ldappass = trim($pass);  
     $ds = DOMINIO;  
     $dn = DN;   
     $puertoldap = 389;  
     $ldapconn = ldap_connect($ds,$puertoldap); 
       ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION,3);  
       ldap_set_option($ldapconn, LDAP_OPT_REFERRALS,0);  
       $ldapbind = @ldap_bind($ldapconn, $ldaprdn, $ldappass);  
       if ($ldapbind){ 
         $filter="(|(SAMAccountName=".trim($user)."))"; 
         $fields = array("SAMAccountName");  
         $sr = @ldap_search($ldapconn, $dn, $filter, $fields);  
         $info = @ldap_get_entries($ldapconn, $sr);  
         $array = $info[0]["samaccountname"][0]; 
       }else{  
             $array=0; 
       }  
     ldap_close($ldapconn);  
     return $array; 
}  
?>

-----------------------------------------------------------------------------------------------------
control.php
<?php

   /*     require("ldap.php");
        header("Content-Type: text/html; charset=utf-8");
        $usr = $_POST["usuario"];
        $usuario = mailboxpowerloginrd($usr,$_POST["clave"]);
        if($usuario == "0" || $usuario == ''){
            $_SERVER = array();
            $_SESSION = array();
            echo"<script> alert('Usuario o clave incorrecta. Vuelva a digitarlos por favor.'); window.location.href='index.php'; </script>";
        }else{
            session_start();
            $_SESSION["user"] = $usuario;
            $_SESSION["autentica"] = "SIP";
            echo"<script>window.location.href='../index.php'; </script>";
        }

        */



		 require("ldap.php");
        header("Content-Type: text/html; charset=utf-8");
        $usr = $_POST["usuario"];
        $usuario = mailboxpowerloginrd($usr,$_POST["clave"]);
        if($usuario == "0" || $usuario == ''){
            $_SERVER = array();
            $_SESSION = array();
            echo"<script> alert('Usuario o clave incorrecta. Vuelva a digitarlos por favor.'); window.location.href='index.php'; </script>";
        }else{
            session_start();
            $_SESSION["user"] = $usuario;
            $_SESSION["autentica"] = "SIP";
            /*echo"<script>window.location.href='../index_1.php'; </script>";*/
			   /* if ($info["count"] > 0){
					for ($i=0; $i<$info["count"]; $i++){*/
						echo "<p>Nombre: ".$array[0]["samaccountname"][0]."<br />";
						
					/*}	
				}
				else{
					echo "<p>No se ha encontrado ningun resultado</p>";
				}*/
             if(isset($_SESSION['contador']))
  			{
   				 $_SESSION['contador'] = $_SESSION['contador'] + 1;
   				 $mensaje = 'Número de visitas: ' . $_SESSION['contador'];
  			}

		}

?>
-------------------------------------------------------------------------------------------------------
config.php
<?php
    define('DOMINIO', 'dominio.local');
    define('DN', 'dc=dominio,dc=local');
?>
--------------------------------------------------------------------------------------------------------
index.php
<link href="../cabecera/css/fondo.css" rel="stylesheet">

<?php @session_start();?>
    <html>
    <head>
 	</head>
    <title>Acceso por LDAP</title>
    <body>
    <form method="post" action="control.php"><br>
        <center>
          <table>

          	<tr>
            	<td colspan="2"><img src="/img/logo.png" WIDTH=500 class="logo" ALT></td>
            </tr>

             <tr>
                <td>
                	<center>
                	Usuario:
                	<br>
                	<input type="text" maxlength="50" name="usuario" id="usuario" />
                	<br>
                	Clave:
                	<br>
                	<input type="password" maxlength="50" name="clave" id="clave" />
                	<br>
                	<input type="submit" value="Entrar">
                	</center>
                </td>
            </tr>
          </table>
          <br>
        </center>
    </form>
    </body>
    </html>
<?php exit(); ?>
Este codigo valida el usuario que exista en el dominio.

El control.php esta un poco modificado debido a las pruebas que vengo haciendo.

Saludos