Comunidad de diseño web y desarrollo en internet online

Sistema login con roles y acciones

Citar            
MensajeEscrito el 04 Ene 2012 05:32 pm
Hola, quisiera saber si alguien me podría ayudar con alguna idea para desarrollarme una clase para manejar roles de usuario con sus respectivas acciones.

La idea es usar 3 niveles de acceso, admin, editor, usuario registrado.

Admin tiene control total, editor crea y edita pero no elimina y usuario registrado solo puede ver.

Gracias de antemano por su ayuda.

PD: Ya he buscado en google, pero la verdad no me gusta, o entiendo :( , lo que encuentro

Por danmoracr

Claber

128 de clabLevel

1 tutorial

Genero:Masculino  

Web application developer

firefox
Citar            
MensajeEscrito el 06 Ene 2012 12:37 am
primero lo primero vas a usar mysql no???
entonces creas 3 tablas
una de roles , otra de usuarios y otra de acciones,
al menos que sepas que los roles no seran infinitos, en ese caso pues las acciones y los roles podrian ir en la misma tabla :),
el usuario si o si tendria que pertenecer a un ROL, luego haces el relacionamiento como mas te guste, con arrays, o objetos, hablo de la parte de PHP , bueno antes de continuar comenta si entiendes a lo que me refiero :)

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Ene 2012 10:20 pm
1. Lo primero sería definir los perfiles de usuarios. Al menos tendrías que tener dos tablas:

a. Tabla usuarios: nombres, apellidos, ..., id_perfil
b. Tabla perfiles: id_perfil, nom_perfil

El campo perfiles.id_perfil debe ser clave primaria y usuarios.id_perfil debe ser índice.

2. Luego tendrías que relacionar las tablas. Puedes hacerlo con el phpMyAdmin. Fíjate que el campo perfiles.id_perfil debe ser clave de referenciada y usuarios.id_perfil debe ser clave extrangera.

3. En el momento del login debes:

a) Comprobar usuario y contraseña.
b) Comprobar perfil.
c) Crear una sesión.
d) Redirigir según el perfil.

Lo que cada usuario pueda o no pueda hacer se puede hacer de dos formas al menos:

a) En la misma página cargas todo y lo muestras según el tipo de perfil.
b) Rediriges a una página distinta para cada perfil.

Lo que hagas aquí dependerá de lo que necesites hacer.

Lo más importante, antes de escribir código, es tener claro qué quiero hacer y cómo lo voy a organizar. Así después escribir código es más simple.

:cool:

Por eareddhel

83 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 30 Mar 2015 08:40 pm
Buen dia,

Tienes el codigo de ejemplo. Gracias pór su aporte

Por jeinner

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 Abr 2015 02:30 am
Pero es simple. Supongamos que tienes tres tablas:

tabla usuarios: todo lo que necesites saber del usuario.
| id_usuario | contraseña | nombre | apellido | correo |

tabla perfiles: el id del perfil más el nombre del perfil
| id_perfil | nombre_perfil |

tabla perfilusuario: aquí le asignas un perfil a cada usuario
| id_perfil | id_usuario

Y ahora haces el login. Siempre va a depender de lo que necesites, pero lo básico sería algo así:

a) Comprobar usuario y contraseña.
b) Comprobar perfil.
c) Crear una sesión.
d) Redirigir según el perfil.

Código PHP :

// activo el uso de sesiones
session_star();
// tomo las variables del formulario
$usuario = $_POST['usuario'];
$pass = $_POST['pasword'];
// consulto a la bd si el usuario existe
$sql = "select id_usuario, password from usuarios where id_usuario = '{$usuario}' limit 1";
$res = mysql_query ($sql) or die (mysql_error());
$dat = mysql_fetch_array ($res);
// si el usuario no existe vuelvo al index
if(empty($dat)){
   header('Location: index.php');
}
// si el usuario existe compruebo la contraseña
else{
   // compruebo la contraseña
   // si la contraseña es correcta
   if($dat['password'] == $pass){
      // creo sesion de usuario}
      $_SESSION['usuario'] = $usuario;
      // consulto por el tipo de perfil
      $sql = "select id_perfil from perfilusuario where id_usuario = '{$usuario}' ";
      $res = mysql_query ($sql) or die (mysql_error());
      $dat = mysql_fetch_array ($res);
      // creo una sesion con el tipo de perfil
      $_SESSION['perfil'] = $dat['id_perfil'];
      // regreso a la página de usuario
      header('Location: usuario.php');
   }
   // si la contraseña es incorrecta devuelvo al index
   else{
      header('Location: index.php');
   }
}

En esencia este sería el procedimiento básico de lo que necesitas realizar. De más está decir que hay muchas formas de hacer lo mimo, y además falta agregar la seguridad, los mensajes de error, etc. Pero con esto ya deberías tener una idea del procedimiento. Si hay errores en el código pido las disculpas del caso pues lo escribí sobre la marcha.

Saludos y éxito en tu proyecto.

:cool:

Por eareddhel

83 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.