Red de conocimiento informático - Aprendizaje de programación - Ideas de asignación de permisos PHP

Ideas de asignación de permisos PHP

Sí, pero esto es difícil de administrar, porque usted es el usuario que maneja directamente los permisos. Hay cuatro categorías comunes de ideas sobre permisos. Lo que mencionó pertenece a la cuarta categoría. , se recomienda usarlo antes Tres categorías (las primeras tres categorías son las más utilizadas):

1 Permisos de roles de grupo de usuarios

2. >

3. Permisos de rol del grupo de usuarios

4. Permisos de usuario

Permítanme dar un ejemplo, tome la tercera categoría como ejemplo:

Permisos : eventos específicos de operaciones del usuario, como: Agregar administrador, modificar administrador, eliminar administrador

Rol: Rol: Rol: Especificar un determinado tipo de usuario para que tenga un número fijo de permisos, como por ejemplo: superadministrador , administrador

Usuario: Usuario con permisos de ejecución finales, como: admin, admin2

Por lo tanto, necesitamos 3 tablas basadas en: rol de usuario, los permisos están relacionados entre sí (el id de cada tabla hay un identificador único, es decir, la tabla de usuario. El campo de nivel se usa para almacenar la identificación de la tabla de nivel y el campo de permiso de la tabla de nivel se usa para almacenar la identificación de la tabla de permiso

Usuario tabla: php_user | datos: id = 1, nombre de usuario = admin, nivel = 1. | ?id = 2, nombre de usuario = admin2, nivel = 2

Tabla de niveles: php_level | nombre = superadministrador, permiso = 2

La tabla de permisos es una clave única que se puede utilizar para identificar al usuario.

nombre = superadministrador, permiso = 1, 2, 3 | id = 2, nombre_nivel = administrador, permiso = 2

Tabla de permisos: php_permission | datos: id = 1, nombre_permiso = agregar id de administrador = 2 , nombre_permiso = Modificar administrador | id = 3, nombre_permiso = Eliminar administrador

Si aún no lo ha visto, eche otro vistazo a este ejemplo de PHP del mundo real: /? Vaya a la base de datos e inicie sesión con el usuario

$COOKIE['username'] =?' admin2';?//?Username

/?Consulte el nivel de usuario. Declaración de consulta SQL, utilizada para determinar si es posible: Agregar administrador

$sql?=??"SELECT?`level`?FROM?`php_user`?WHERE?`username`? =?' $_COOKIE['username ']}'?LIMIT?1;";

//?Obtener resultados de la consulta

$result?=?msyql_query($sql);

/ ?Analizar el conjunto de resultados

$array?=?mysql_fetch_assoc($result);

/?Al crear una declaración SQL para consultar la tabla jerárquica para obtener la operación permisos

$sql?=?"SELECT?`permission`?DROM?`level`?WHERE?`id`? =?' {$array['level']}'?LIMIT?1; ";

//?Obtener resultados de la consulta

$result?=?msyql_query($sql);

/?Analizar el conjunto de resultados

$array? =?mysql_fetch_assoc($result);

/?Cree una matriz de permisos y guárdela en SESSION. Recuerde abrir SESSION y session_start();

/. ?Usar comas Dividir caracteres de permiso, por ejemplo: 1, 2, 3=?array(1,?2,?3)

$_SESSION['Permission']=?explode(',',? $array['Permission']);

/?Finalmente determinar si hay permiso de operación

if(!in_array(1,? $_SESSION['permission']))? exit('¡Sin permiso para operar!') )

//?Autorización exitosa, inicio: agregar administrador, pero nuestro usuario es admin2, él es el administrador, sus permisos son solo: modificar el administrador, entonces admin2 no tiene ninguna operación Permisos: Agregar administrador

Si aún no entiende nada de lo anterior o tiene alguna pregunta, puede hacer seguimiento en cualquier momento~