Foros del Web » Programando para Internet » PHP »

Autentificator

Estas en el tema de Autentificator en el foro de PHP en Foros del Web. hola Estoy utilizando el sistema de autenticacion que ha desarrollado Cluster(Autetificator)......quiciera que me ayudaran a solucionar unos inconvenientes... lo que pasa estoy usando una variable ...
  #1 (permalink)  
Antiguo 27/03/2005, 18:39
 
Fecha de Ingreso: marzo-2005
Mensajes: 14
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta Autentificator

hola

Estoy utilizando el sistema de autenticacion que ha desarrollado Cluster(Autetificator)......quiciera que me ayudaran a solucionar unos inconvenientes... lo que pasa estoy usando una variable que ha definido Cluster para cada usuario para restringir el acceso a ciertos usuarios y quiero usarla para cargar diferentes paginas(dependiendo del acceso), es decir, quiero que a lo que el usuario se autentique se despliegue la pagina a la cual tiene acceso....pero no me funciona, se queda cargando ..... muestro lo que estoy haciendo:

$nivel_acceso=0;
$u_n =$_SESSION['usuario_nivel'];
if ($nivel_acceso != $u_n ){
if($u_n==1){
header ("Location: xxx.php");
exit;
}
else if($u_n==2){
header ("Location: xxyy.php");
exit;
}
else{
header ("Location: error.php?error_login=5");
exit;
}
}


el otro problema que tengo es que quiero mantener no solo una, sino varias paginas bajo el control de la utenticacion, pero tampoco me ha servido....es deicr, lo que quiero es que despues de que el usuario se autentique, muestre una pagina "xxxyyy" y siga navegando hacia "otras pagina"(que se supone que tambien necesitan de autenticacion y desde luego no halla necesidad de volverse a autenticar) y si el usuario no se a autenticado que no deje mostrar esas "otras paginas"...lo que estoy haciendo es lo siguiente:

require ("aut_config.inc.php");
session_start();
if(!$_SESSION[$usuarios_sesion]) {
header("Location: index.php?error_login=5");
exit;
}

pero tampoco funciona!!!.....si pueden ayudarme se los agradeceria...

gracias....
  #2 (permalink)  
Antiguo 28/03/2005, 04:35
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
:séveR le onieR le edsed sodulaS

... no sé como trabaja en Autentificator Cluster.... pero intento ayudarte.

En principio, supongo que dicho Autenficator hace una consulta a la BD. Dicha BD debe tener una columna de "nivel" y el resultado debe asignarsele a la variable de sesion $_SESSION['usuario_nivel']. Una vez confirmado esto... prueba con:
Código PHP:
<?php
session_start
(); // siempre en la primera línea

$nivel$_SESSION['usuario_nivel']; // recuperamos el nivel...

switch ($nivel) { // para no ocupar if-elseif-else... aunque no habria problema
   
case 0:
       
Header("Location:error.php?error_login=5");
       exit;
   case 
1:
       
Header("Locaton:xxx.php"); // ^o) porno????? :ojotes:
       
exit;
   case 
2:
       
Header("Location:xxyy.php"); 
       exit;
   default:
       
Header("Location:index.php");
}
?>
... creo en lo único que se diferencia tu código al que propóngo es en el inicio de sesión... ¿pones session_start() al inicio de tu código??... creo que igual esa seria la respuesta a tu segunda cuestión. Ojalá sea eso... Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 28/03/2005, 06:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
La idea es la que propone jam1138 pero en lugar de:
session_start(); // siempre en la primera línea

usar el:
require("aut_verifica.inf.php");

que ya incluye session_Start() y valida la existencia de un usuarios válido. El nivel o que hacer al llegar a ese script/página ya lo gestionas con ese switch().

Un saludo,
  #4 (permalink)  
Antiguo 28/03/2005, 14:20
 
Fecha de Ingreso: marzo-2005
Mensajes: 14
Antigüedad: 12 años, 9 meses
Puntos: 0
Exclamación ok.... pero existe un problema

les agradezco mucho Cluster y jam1138....he solucionado mi problema.....pero al solucionarlo me surgio otro problema.....al hacer el redireccionamiento no se por que motivo no me redireccionaba al pagina de nivel de acceso igual cero (0).....el todo fue que le cambie el nivel e acceso y funciono....lo mismo me ocurrio para hacer la restriccion de acceso a las paginas(si digitaban el url completo para llegar a la pagina), y lo que ocurria era que no limitaba el acceso a la pagina con el nivel de acceso igual a cero y lo cambie y funciono...

Código PHP:
<?
require ("aut_config.inc.php");
session_name($usuarios_sesion);
session_start(); 
$nivel_acceso=0//nivel de acceso para esta página.

// no realiza o ignora la siguiente validacion..

if ($nivel_acceso != $_SESSION['usuario_nivel']{
header ("Location: index.php?error_login=5");
exit;
}
y para la parte del switch:

Código PHP:
<?php 
session_start
(); // siempre en la primera línea 

$nivel$_SESSION['usuario_nivel']; // recuperamos el nivel... 

switch ($nivel) { 
   case 
0:                //no redirecciona para nivel igual a cero
       
Header("Location:error.php?error_login=5"); 
       exit;
....
...
...
Depronto me puedan decir por que sucede eso.....o sino puede servir para tenerlo en cuenta para futuras aplicaciones....

gracias...

Última edición por maec; 28/03/2005 a las 14:23
  #5 (permalink)  
Antiguo 28/03/2005, 14:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tal vez fué un error al colocar el código en el foro .. pero te faltó un ) de cierre del IF()
Código PHP:
if ($nivel_acceso != $_SESSION['usuario_nivel']){ 
Prueba también a verificar si existe (está definida la varaible en concreto . .y de ahí su valor:
Código PHP:
if (isset ($_SESSION['usuarios_nivel']) && $nivel_acceso != $_SESSION['usuarios_nivel']){ 
Pero, realmente ahí deberías usar:
require("aut_verifica.inc.php");

que ya hace todo eso de session_name() .. session_Start() y la validación minima del "isset($_SESSION .....)"

Por si hay problema de tipos .. intenta:
Código PHP:
case '0'
Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:00.