Autor
|
Tema: problemas con location en login contra LDAP PHP (Leído 5,207 veces)
|
R41N-W4R3
Desconectado
Mensajes: 248
|
Hola a tod@s..... espero alguien pueda ayudarme pq es bien extraño esto que me pasa. Situacion: Estoy programando el acceso a una pagina que contendrá documentos separados en carpetas. Dependiendo del grupo en el que el usuario se encuentre en el directorio activo, el directorio al que accedera sera uno u otro. Separando en principio dos grandes grupos, direccion y contabilidad. Mi problema es que trato de cargar con la funcion location una pagina u otra dependiendo del tipo de acceso. Ya he chequeado que la funcion que me comprueba el correcto login LDAP y tambien se que funciona bien la funcion que ve la pertenencia a un grupo determinado. pero no consigo que el location me envie donde necesito, ya que no hace nada. $dominio="@midominio.local"; $user=addslashes__recursive($_POST["us"]).$dominio; $pasw=addslashes__recursive($_POST["pas"]); $MensajeSup=LoginLDAP($user,$pasw); $direc=PerteneceA();
if ($direc=="" && $MensajeSup=="Acceso Permitido"){
echo "<h2><a href='http://192.168.9.117/index.php'>Volvel a la pagina de Inicio</a><h2>"; echo"Usted pertenece al dominio, pero NO tiene permiso para el acceso a Intranet"; exit; }
if ($MensajeSup=="Acceso Permitido" && $direc<>""){ [b] header ("Location: http://192.168.9.117/acceso.php");[/b] exit; }
Bueno a ver si alguien puede ayudarme. Gracias de antemano pd:He puesto solo el trozo de codigo mas relevante, como pueden ver no he incluido si el usuario se equivoca con las credenciales de inicio de sesion,etc...
|
|
|
En línea
|
|
|
|
alone-in-the-chat
Desconectado
Mensajes: 587
|
Usualmente deja de funcionar el envio de header cuando ya se ah enviado otra cabecera al navegador , osea que lo mas probable es que por alli se este enviando una cadena , texto , espacio en blanco , etc
Si envias algo al browser antes de lanzar el header este no funcionara
Saludos
|
|
|
En línea
|
Because maybe You're gonna be the one that saves me And after all You're my wonderwall d[n_n]b
|
|
|
WHK
|
Lo que decían, estas enviando una cabecera atrasada, el header ya fue enviado asi que no puedes enviarlo dos veces, tienes que ponerlo de los primeros o te dará error, antepone un @ de todas formas para evitar mostrar errores, de todas formas no sacas nada con imprimir echo porque con header harás que se redireccione automáticamente sin que el usuario alcanze a ver algo.
|
|
|
En línea
|
|
|
|
R41N-W4R3
Desconectado
Mensajes: 248
|
Ya he reducido el código al minimo y sigue sin funcionar... voy a poner aqui el archivo completo paa ver si alguno me puede ayudar. <style type="text/css"> <!-- body { background-color: #E1E0C8; } .style1 {font-family: "Berlin Sans FB"} color: #0000CC; font-weight: bold; --> </style><img src="../IMAGENES/CABECERA.jpg" width="555" height="197" align="top" /> <br><br><br><br>
<?php
include ("util.php"); include ("ldap.php");
$dominio="@midominio.local"; $user=addslashes__recursive($_POST["us"]).$dominio; $pasw=addslashes__recursive($_POST["pas"]); $MensajeSup=LoginLDAP($user,$pasw);
if ($MensajeSup=="Acceso Permitido"){ header ("Location: http://www.google.es"); }else header ("Location: http://www.hotmail.com");
?>
A ver si alguno me indica que puede pasar. Si necesitais ver si el problema esta en las funciones que comprueban el acceso a traves de ldap indicadmelo...... ya estoy desesperado....... he conseguido el login con LDAP y ver la pertenencia a grupo pero esto que es una tonteria no me funciona Gracias por las respuestas
|
|
« Última modificación: 20 Diciembre 2007, 17:51 pm por R41N-W4R3 »
|
En línea
|
|
|
|
alone-in-the-chat
Desconectado
Mensajes: 587
|
Debes leer los mensajes de arriba desde el momento que envias algo al explorador (en este caso toda esta parte ) <style type="text/css"> <!-- body { background-color: #E1E0C8; } .style1 {font-family: "Berlin Sans FB"} color: #0000CC; font-weight: bold; --> </style><img src="../IMAGENES/CABECERA.jpg" width="555" height="197" align="top" /> <br><br><br><br>
ya no podra ejecutarse la sentencia header , te lanzara el error de cabecera ya enviada primero haz toda tu validacion y despues recien manda al browser lo que desees en este caso la parte de arriba (la cual veo totalmente innecesaria puesto que al final igual lo redireccionaras y el usuario no vera eso) Saludos
|
|
|
En línea
|
Because maybe You're gonna be the one that saves me And after all You're my wonderwall d[n_n]b
|
|
|
R41N-W4R3
Desconectado
Mensajes: 248
|
Voy a probarlo.... ciertamente no es necesario, lo que pasa es que en principio no pensaba hacer disquisicion entre grupos del ldap, solamente seria la validacion la que me mostrase los datos que necesito........... Gracias otra vez por tu ayuda y perdona mi ignorancia con la prog web.. pero no es un tema que domine demasiado. EDIT: PERDONA Q SEA TAN PESADO PERO DESPUES DE QUITAR EL CODIGO QUE ME INDICAS SIGUE HACIENDO LO MISMO
|
|
« Última modificación: 20 Diciembre 2007, 17:50 pm por R41N-W4R3 »
|
En línea
|
|
|
|
alone-in-the-chat
Desconectado
Mensajes: 587
|
<?php include ("util.php"); include ("ldap.php"); $dominio="@midominio.local"; $user=addslashes__recursive($_POST["us"]).$dominio; $pasw=addslashes__recursive($_POST["pas"]); $MensajeSup=LoginLDAP($user,$pasw); if ($MensajeSup=="Acceso Permitido") { header ("Location: http://www.google.es"); }else{ header ("Location: http://www.hotmail.com"); } ?>
Prueba asi tal y como esta , fijate que los includes que realizes no envian nada al browser Saludos
|
|
|
En línea
|
Because maybe You're gonna be the one that saves me And after all You're my wonderwall d[n_n]b
|
|
|
R41N-W4R3
Desconectado
Mensajes: 248
|
He probado lo que me indicas, y sigue sin redireccionar.... pero a ver si puedes indicarme pq pasa esto: Una vez que le doy en el principal al boton de login, que me lleva al codigo que me has puesto antes, tal y como esta sin nada mas.... no deberia de aparecer el fondo gris de la pantalla, y aparece.....he analizado con httpanalizer, y el contenido de login.php (que unicamente lleva el codigo que me pusiste antes) es el siguiente: <style type="text/css"> <!-- body { background-color: #E1E0C8; } .style1 {font-family: "Berlin Sans FB"} color: #0000CC; font-weight: bold;
--> </style>
Es como si la hoja de estilo se le estuviese aplicando, aunke no hay nada en el archivo que lo haga, pero es el mismo fondoque tiene la pagina de donde viene y es el mismo q esta tenia hasta q lo borré......... voy a empezar todo desde el principio..... pd: Nuevamente te agradezco tu ayuda y sobretodo paciencia
|
|
|
En línea
|
|
|
|
alone-in-the-chat
Desconectado
Mensajes: 587
|
Supongo que esos datos llegan de un formulario postea el codigo de ese formulario o pagina de formulario Si es extraño que te jale el codigo del css si no lo estas llamando de ningun lado postea tu codigo completo (formulario incluido) para darle una chekada a fondo
Saludos
|
|
|
En línea
|
Because maybe You're gonna be the one that saves me And after all You're my wonderwall d[n_n]b
|
|
|
WHK
|
Es ovbio, estas haciendo un include antes de declarar el header y esos includes talves emitan ya sus propias cabeceras, no puedes declarar el header después de todo eso, intenta redireccionar con un echo '<META HTTP-EQUIV="refresh" content="0;URL=http://www.google.cl">';
|
|
|
En línea
|
|
|
|
|
|