Foros del Web » Programando para Internet » PHP »

autentificador CLUSTER. como chequeo session?

Estas en el tema de autentificador CLUSTER. como chequeo session? en el foro de PHP en Foros del Web. Hola a todos... mi pregunta es como hacer para con el autentificador de Cluster, en mi pagina principal (que no debe ser restringida) chequee si ...
  #1 (permalink)  
Antiguo 16/09/2005, 18:16
Avatar de sakul  
Fecha de Ingreso: julio-2002
Mensajes: 274
Antigüedad: 15 años, 4 meses
Puntos: 0
autentificador CLUSTER. como chequeo session?

Hola a todos... mi pregunta es como hacer para con el autentificador de Cluster, en mi pagina principal (que no debe ser restringida) chequee si estoy logueado (por lo que tendria que saludarme y darme la opcion de salir) o si no lo estoy (y me diga vistante o algo asi)....
  #2 (permalink)  
Antiguo 16/09/2005, 18:24
 
Fecha de Ingreso: abril-2005
Ubicación: Montevideo, Uruguay
Mensajes: 102
Antigüedad: 12 años, 8 meses
Puntos: 0
¿Qué es el autentificador CLUSTER? Asumo que es un código del colega moderador, pero no lo conozco, sería bueno que pegues el código para quienes no lo conocen puedan echarte uan mano igual.

Saludos.
__________________
Mauricio Etcheverry

WebMaster de YoReparo.com
  #3 (permalink)  
Antiguo 19/09/2005, 10:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El código que hace referencia lo pueden ver en:
http://php.cluster-web.com/autentificator

Por defecto no hace lo que requieres (no es la filosofía del mismo). Pero, en principio .. fijate en el código de aut_verifica.inc.php .. ahí veras como se define la sesión que Autentificator usa .. concretamente donde se define nombre de la sesión y se inicializa, ese es el código que necesitas en tu "index.php" (o página que no requiera autentificación expresamente, pues el funcionamiento lógico original valida (con su if()) que exista la sesión).

PD: no me acuerdo del código (de nombres de variables .. revisalo).

Código PHP:
<?
// incluyes las variables donde Autentificator toma el nombre de sesión que lo defines en su configuración.
include("aut_config.inc.php");
// incias el nombre de la sesión.
session_name($nombre_sesion);
// y la sesión .. 
session_start();
// fijate en aut_verfica.inc.php .. hay más funciones sobre sesiones.


// tomas tu variable si existe de sesión .. por ejemplo:
// $_SESSION['nombreacuerdo']

// si quieres aplicas tus validaciones para mostrar tu formulario de login o el salido ..
if (empyt($_SESSION['nomeacuerdo'])){
  
// el formularios de login
} else {
   
// el saludo,
}
?>
Como veras .. con esta modificación no debes hacer el "include("aut_verifica.inc.php")" en las secciones que puedan ser públicas o autentificadas. Sólo lo usaras en las que sólo sean de acceso restringido.

Un saludo,
  #4 (permalink)  
Antiguo 20/09/2005, 09:54
Avatar de sakul  
Fecha de Ingreso: julio-2002
Mensajes: 274
Antigüedad: 15 años, 4 meses
Puntos: 0
hola cluster, gracias por tu respuesta. Entiendo la logica de tu consejo, pero no me da resultados...

este es mi index:

Código PHP:
<? 

include("aut_config.inc.php"); 

$db_conexionmysql_connect("$sql_host""$sql_usuario""$sql_pass") or die(header ("Location:  $redir?error_login=0"));
mysql_select_db("$sql_db");

session_name($nombre_sesion); 

session_cache_limiter('nocache,private');

session_start(); 

$_SESSION['usuario_login'];


?> 



<?php 
if (!empty($_SESSION['usuario_login'])) {
    echo 
'Bienvenido: '.$_SESSION['usuario_login'].'<a href="aut_logout.php" >Salir</a>'; } 
else {
    echo 
'Ud. no se ha logeado';} 
?>
la pagina parece no diferenciar si el usuario esta logeado o no... donde estara el problema?
  #5 (permalink)  
Antiguo 22/09/2005, 18:36
Avatar de sakul  
Fecha de Ingreso: julio-2002
Mensajes: 274
Antigüedad: 15 años, 4 meses
Puntos: 0
alguien que me de una manito???
  #6 (permalink)  
Antiguo 22/09/2005, 19:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y ... esto para que lo usas/haces:

$_SESSION['usuario_login'];

?¡?

Un saludo,
  #7 (permalink)  
Antiguo 26/09/2005, 17:22
Avatar de sakul  
Fecha de Ingreso: julio-2002
Mensajes: 274
Antigüedad: 15 años, 4 meses
Puntos: 0
lo saque pero, tampoco anda... no entiendo porque debo cargar la conexión de base de datos al principio... no hay forma de comprobar simplemente si existe una session creada.... o si todavia no se logeo???

la deje asi y no anda:

Código PHP:
<? 

include("aut_config.inc.php"); 

$db_conexionmysql_connect("$sql_host""$sql_usuario""$sql_pass") or die(header ("Location:  $redir?error_login=0")); 
mysql_select_db("$sql_db"); 

session_name($nombre_sesion); 

session_cache_limiter('nocache,private'); 

session_start();  


?> 



<?php 
if (!empty($_SESSION['usuario_login'])) { 
    echo 
'Bienvenido: '.$_SESSION['usuario_login'].'<a href="aut_logout.php" >Salir</a>'; } 
else { 
    echo 
'Ud. no se ha logeado';} 
?>
  #8 (permalink)  
Antiguo 27/09/2005, 08:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Creo que te estás liando ..

Si observas el código de Autentificator original (aut_verifica.inc.php) hay un enorme "iF()" que decide si vienes de tu formulario de login para autentificarte contra tu BD .. o si no vienes del formulario (no existen las $_POST['.....']) se tomará lo que tenga la sesión $_SESSION .. por ende no hay conexión ni nada que hacer con tu BD por lo menos para estos fines de autentificación y validación de tu usuario.

La comprobación de tu sesión ya lo haces con:
if (!empty($_SESSION['usuario_login'])) {

(previamente su session_Start() demás funciones de sesiones ..)

Un saludo,
  #9 (permalink)  
Antiguo 10/10/2005, 10:56
Avatar de sakul  
Fecha de Ingreso: julio-2002
Mensajes: 274
Antigüedad: 15 años, 4 meses
Puntos: 0
ok, Cluster.. finalmente entendi!!! Gracias por tu ayuda. el autentificador funciona barbaro. Saludos.
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 14:50.