Foros del Web » Programando para Internet » PHP »

Usuarios con distinto nivel ¿Cómo?

Estas en el tema de Usuarios con distinto nivel ¿Cómo? en el foro de PHP en Foros del Web. Buenas. Estoy desarrollando un sitio web en php/mysql. Escribo este mensaje para ver si me podéis dar una idea de cómo hacer lo siguiente: En ...
  #1 (permalink)  
Antiguo 11/04/2007, 13:09
 
Fecha de Ingreso: noviembre-2006
Mensajes: 166
Antigüedad: 13 años, 3 meses
Puntos: 4
Usuarios con distinto nivel ¿Cómo?

Buenas.
Estoy desarrollando un sitio web en php/mysql.

Escribo este mensaje para ver si me podéis dar una idea de cómo hacer lo siguiente:

En el área de administración, quiero que los diferentes administradores creados, dependiendo del nivel asignado (1,2,3…), puedan hacer tareas que otros de un inferior nivel no pueden. Por ejemplo dependiendo del nivel se podrán borrar artículos publicados o no. Una idea que tengo es la siguiente:

Código PHP:
if ($_SESSION[‘user_lvl’]>=2)
{
   
//Se muestra el enlace, por ejemplo,
   //poder añadir categorías para los artículos

¿Sabéis alguna otra forma más “formal”? ¿Creando una función, por ejemplo?

Saludos
  #2 (permalink)  
Antiguo 11/04/2007, 13:42
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 13 años, 10 meses
Puntos: 3
Re: Usuarios con distinto nivel ¿Cómo?

Hola
Bueno, pues en efecto puedes crear la funcion con el codigo que ya tienes, pero tambien podrias hacer una tabla de modulos donde cada modulo fuera el nombre de la pagina por ej, y en esta tabla hacer un campo llamado idgrupo por ej, y ese idgrupo seria un campo de una tabla grupo en la cual iria idgrupo e idadministrador, para que por ej, todos los administradores del grupo 1 puedan entrar a la pagina seguridad, pero no puedan entrar todos a la pagina contraseña que seria otro modulo y seria para los del grupo 2 por ej, son solo ideas, espero algo te sirva.
__________________
Suerte.
_______________________________
"La vida es el principio de la muerte".
  #3 (permalink)  
Antiguo 11/04/2007, 13:57
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 15 años, 9 meses
Puntos: 4
Re: Usuarios con distinto nivel ¿Cómo?

Gracias a CLUSTER lo solucioné usando su autentificador y con un redireccionamiento según el nivel: <CODE><?php
require("aut_verifica.inc.php"); // incluir motor de autentificación.

switch($_SESSION['usuario_nivel']){
case "1":
header ("Location: lista_precios_aaa.php");
exit;
break;
case "2":
header ("Location: lista_precios_bbb.php");
exit;
break;
default:
header ("Location: $redir?error_login=5");
exit;
}
?> </CODE> es decir según el nivel acceden a cada área del site
  #4 (permalink)  
Antiguo 11/04/2007, 14:16
 
Fecha de Ingreso: noviembre-2006
Mensajes: 166
Antigüedad: 13 años, 3 meses
Puntos: 4
Re: Usuarios con distinto nivel ¿Cómo?

Gracias por las ideas. Probaré a ver que tal.

¿A alguien se le ocurren distintas formas?
  #5 (permalink)  
Antiguo 11/04/2007, 14:42
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 15 años, 9 meses
Puntos: 4
Re: Usuarios con distinto nivel ¿Cómo?

me olvidaba, en el formulario llamas a este archivo como redireccionar.php , suerte!!!
  #6 (permalink)  
Antiguo 11/04/2007, 17:26
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 16 años, 2 meses
Puntos: 17
Re: Usuarios con distinto nivel ¿Cómo?

Yo utilizo un sistema como este ( en cierto modo es similar a como el phpbb maneja los grupos de usuarios).

Una tabla llamada
grupos
Código:
id|id_grupo|nombre
entonces los registros serian
1|0|Administradores
2|1|Staff
3|2|Moderadores Generales
4|3|Moderadores Sec A
5|4|Moderadores Sec B
6|5|Usuario Registrado
7|6|Usuario Anonimo

Entonces en la tabla de usuarios , debe existir un campo llamada nivel con un numero asociado a la tabla grupo.

Entonces tengo una funcion, que analiza el nivel grupo de un usuario (el nivel de grupo lo alojo en una variable de session), si el usuario tiene acceso la funcion da true, sino false.

Entonces tengo ciertos secciones que solo la pueden acceder usuarios con nivel 4 o menor (en el caso los Moderadores Sec B y A , el Mod General , Staff y el Administrador) ...

Esta mas que decir, que las secciones deben tener en una tabla, los niveles de acceso posibles


Asi me plantie una logica y estructura para un usuarios con distintos nivel.Es seguro, si tus funciones son seguras (la variable de nivel de un usuario, no la guardes en una cookie, por q la pueden a llegar a manipular, si es una variable de session, es segura ya que qeda al lado del servidor, o tambien cada vez consultar la variable de nivel de cada usuario sino qeres user sessiones)

Saludos
__________________________________
Tambien puedes utilizar algo ya echo :P , en un momento utilize SZUserMgnt el cual tiene todo lo que quieres
Código:
    *  Create user
    * Remove user
    * Edit user
    * Password reminder
    * Activation/inactivation
    * Custom unlimited security Levels
    * SZUserMgnt also comes with authentification functions and different security levels.
Aqui tengo un mirror del script

Última edición por DeeR; 11/04/2007 a las 17:42 Razón: +info
  #7 (permalink)  
Antiguo 13/04/2007, 01:47
 
Fecha de Ingreso: noviembre-2006
Mensajes: 166
Antigüedad: 13 años, 3 meses
Puntos: 4
Re: Usuarios con distinto nivel ¿Cómo?

Gracias a todos por las respuestas. Creo que usaré el método que comenta DeeR, que lo veo mas completito. Los demás ejemplos que habéis puesto, me podrán servir también en otras ocasiones.
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 17:12.