Foros del Web » Programando para Internet » PHP »

Privilegios para usuarios administradores o usuarios normales (Roles)

Estas en el tema de Privilegios para usuarios administradores o usuarios normales (Roles) en el foro de PHP en Foros del Web. Hola mi consulta es la siguiente. Deseo que mi sistema identifique los usuarios cuando se loguean en el sistema Quiero que identifique si es un ...
  #1 (permalink)  
Antiguo 13/04/2013, 15:26
Avatar de DiazMad  
Fecha de Ingreso: septiembre-2010
Ubicación: Caracas
Mensajes: 43
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta Privilegios para usuarios administradores o usuarios normales (Roles)

Hola mi consulta es la siguiente.

Deseo que mi sistema identifique los usuarios cuando se loguean en el sistema

Quiero que identifique si es un usuario con privilegios o no

Tengo el siguiente codigo que funciona perfecto, pero manda a todos los usuarios registrados a la pagina principal del sistema.

Código PHP:
<?php
session_start
();
    include(
"conectar_bd.php");  

    
$usr $_POST['usuario'];
    
$pw $_POST['password'];
    
    
$sql "SELECT id_usuario, tipo FROM tbl_users WHERE tx_username = '".$usr."' AND tx_password = '".$pw."'    ";    
            
    
$result        =mysql_query($sql,$link); 

    
$uid "";
    
    if( 
$fila=mysql_fetch_array($result) )
    {                
        
$uid $fila['id_usuario'];
        
session_start();        
        
        
$_SESSION['autenticado']    = 'SI';
        
        
$_SESSION['uid']               = $uid;

        
?>
        <form name="formulario" method="post" action="Principal.php">
            <input type="hidden" name="idUsr" value='<?php echo $uid ?>' />
        </form>
<?php
    
}
    else {
        
?>
        <form name="formulario" method="post" action="/index.php">
            <input type="hidden" name="msg_error" value="1">
        </form>
<?php
    
}
?>
El script busca si hay algun usuario registrado, si lo hay lo manda a la principal con su usuario guardandolo en la variable SESSION sino no encuentra nada muestra un mensaje en el index.

He intenta muchas cosas y en la red sale mucha información de como hacerlo pero lo que no se es como adaptar esos codigos a este que tengo yo

Ya he insertado un campo en la tabla tbl_users y la he llamado 'tipo' y le he dado valores de 1 y 0, 0 para los Administradores y 1 para ususrios sin privilegios.

Gracias por la ayuda
  #2 (permalink)  
Antiguo 14/04/2013, 00:44
 
Fecha de Ingreso: abril-2010
Ubicación: Saltillo Mexico
Mensajes: 83
Antigüedad: 14 años, 7 meses
Puntos: 4
Respuesta: Privilegios para usuarios administradores o usuarios normales (Roles)

Pues si ya tienes el campo en la tabla, haces la consulta y una condicón

Código PHP:
Ver original
  1. $tipo = mysql_query("SELECT tipo FROM usuarios WHERE username = '$usuarioLoggeado'");
  2. $tipo = $tipo["tipo"];
  3.  
  4. if($tipo == "0"){ header("location:adminPage.php"); }else{ header("location:normal.php") }
  #3 (permalink)  
Antiguo 14/04/2013, 17:30
Avatar de DiazMad  
Fecha de Ingreso: septiembre-2010
Ubicación: Caracas
Mensajes: 43
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta Respuesta: Privilegios para usuarios administradores o usuarios normales (Roles)

Gracias por la respuesta

Y si el codigo que muestras en si deberia funcionar sin problema y que por la logica deberia aplicar pero la confusion que tengo es de como combinar ese codigo con el que yo ya tengo el cual hace una serie de validaciones para ingresar al sistema, ese es el problema que tengo...
  #4 (permalink)  
Antiguo 15/04/2013, 10:34
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años, 7 meses
Puntos: 47
Respuesta: Privilegios para usuarios administradores o usuarios normales (Roles)

Cita:
Iniciado por DiazMad Ver Mensaje
Gracias por la respuesta

Y si el codigo que muestras en si deberia funcionar sin problema y que por la logica deberia aplicar pero la confusion que tengo es de como combinar ese codigo con el que yo ya tengo el cual hace una serie de validaciones para ingresar al sistema, ese es el problema que tengo...
Si eres un programador me sorprende tu respuesta...

Si tu has hecho el todo el codigo sabras donde colocar la validación adicional que te recomienta....
  #5 (permalink)  
Antiguo 15/04/2013, 10:39
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años, 7 meses
Puntos: 28
Respuesta: Privilegios para usuarios administradores o usuarios normales (Roles)

Espero que el autor de este hilo no se ofenda pero es impresionante la cantidad de gente que se pone directamente a programar sin haber leído aunque sea un poco de metodología.

Al final esto es peor para ellos porque la curva de aprendizaje se hará mayor de lo que debería, y los dolores de cabeza también.
  #6 (permalink)  
Antiguo 15/04/2013, 11:29
Avatar de DiazMad  
Fecha de Ingreso: septiembre-2010
Ubicación: Caracas
Mensajes: 43
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Privilegios para usuarios administradores o usuarios normales (Roles)

Que molesto ya es consultar algo en este foro Siempre sale alguien con un comentario inutil Esta herramienta la uso como ultimo recurso cuando algo no me funciona Y se espera que alguien podria darte una idea para resolver la falla Gracias a dluna88 por ser el unico que respondio algo util y para los demas que no aportan nada Por favor eviten responder y si saben tanto hagan sus propios foros y dejen de dejar mal a este que antes si me servia para algo...
  #7 (permalink)  
Antiguo 15/04/2013, 11:37
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años, 7 meses
Puntos: 47
Respuesta: Privilegios para usuarios administradores o usuarios normales (Roles)

Mira no es intención generar controversia, pero si lo que quieres hacer es verificar el nivel de acceso y ya tienes ese valor guardado en un campo basta con evaluar el if que te comentaban anteriormente, tu sabras donde colocarlo ya que tu eres quien conoce el codigo..
  #8 (permalink)  
Antiguo 15/04/2013, 11:38
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Privilegios para usuarios administradores o usuarios normales (Roles)

como te han dicho lo primero es crear un campo en la bd donde especifiques los privilegios por ejemplo

2 admin
1 user

0 lo dejamos para los usuarios invitados no identificados .

ahora en la consulta extraes ese campo del usuario y lo verificamos , si es igual a 1 lo mandamos a la pagina del usuario y si es igual a 2 a la pagina de admin

en esta consulta extraes el rol

Código PHP:
Ver original
  1. $sql = "SELECT id_usuario, tipo FROM tbl_users WHERE tx_username = '".$usr."' AND tx_password = '".$pw."'    ";

en esta parte la verificacion, despues de extarer el rol del usuario

Código PHP:
Ver original
  1. if( $fila=mysql_fetch_array($result) )
  2.     {                
  3.         $uid = $fila['id_usuario'];
  4.         session_start();        
  5.        
  6.         $_SESSION['autenticado']    = 'SI';
  7.        
  8.         $_SESSION['uid']               = $uid;
  9.  
  10. // creas la session con el rol
  11.  
  12. // verificacion
  13.  
  14. // redireccion

info

redireccion http://es.php.net/manual/es/function.header.php
verificacion http://es.php.net/manual/es/control-...ive-syntax.php

espero haberte ayudado y sigue el manual y prueba prueba mucho codigo hecho por ti hasta que des con ello , suerte

Última edición por webankenovi; 15/04/2013 a las 11:45

Etiquetas: permisos, privilegios, roles
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:30.