Post Top Ad

Your Ad Spot

jueves, 7 de mayo de 2020

Gestión de cuentas de usuario, roles, permisos, autenticación PHP y MySQL

Si está creando cualquier aplicación web que implique crear, leer, actualizar y eliminar información de cualquier tipo, será muy común que los privilegios para realizar estas diferentes operaciones en los datos se compartan entre sus usuarios de acuerdo con sus diferentes roles. y permisos en su solicitud.
Tome una aplicación de gestión escolar, por ejemplo. Los usuarios de dicha aplicación generalmente caen dentro de las categorías: estudiantes, maestros, jefes de departamento (HOD), etc. Su solicitud NO debe permitir que un estudiante tenga el privilegio de agregar o actualizar sus resultados para los exámenes semestrales. Esa sería la función de un maestro. Y cuando se va a agregar un nuevo curso o materia al plan de estudios, es solo el trabajo del Jefe de Departamento agregar ese curso en el sistema.
En dicho sistema, podemos referirnos a Estudiante, Maestro, HOD (Jefe de Departamento) como los diferentes roles en nuestra aplicación. En cuanto a acciones como agregar y actualizar los resultados de los estudiantes, agregar nuevos cursos, nos referiremos a estos como los permisos .
A partir de la explicación hasta ahora, ya se puede deducir que un usuario tendrá un rol y un rol tendrá múltiples permisos. Por ejemplo, John (un usuario) tendrá un rol (Estudiante) y múltiples permisos (registrar curso, ver marcas, imprimir transcripción, etc.).
Esto significa que en nuestra base de datos MySQL necesitaremos 3 tablas principales de la base de datos: usuarios , roles y permisos . Se requiere que tengamos una relación de Muchos a Uno entre los usuarios y las tablas de la base de datos de roles (Un rol pertenece a Muchos usuarios) y una relación de Muchos a Muchos entre los roles y las tablas de permisos (Se pueden asignar muchos permisos a Muchos roles) .
La forma en que se refiere a estos roles depende de usted. En nuestro ejemplo, hemos estado usando Estudiante, Maestro, HOD para representar los roles porque el ejemplo era sobre una aplicación de gestión escolar. Si estaba trabajando en una aplicación de gestión hotelera, los roles pueden ser algo como Gerente, Limpiador, Recepcionista y similares.
En este tutorial, estamos creando un sistema de administración de cuentas de usuario para una aplicación de blog. Por lo tanto, nos referiremos a estos roles como Autor, Editor y Administrador. Por supuesto, puede cambiarlos a su gusto, pero estos tres son casi un estándar para los sistemas de gestión de contenido.
Se implementará un sistema completo de registro e inicio de sesión de administrador / usuario. Todos los usuarios iniciarán sesión a través del mismo formulario de inicio de sesión y una vez que inicien sesión, solo los usuarios administrativos (Autores, Editores, Administradores) tendrán acceso al panel de administración mientras que los usuarios normales serán redirigidos a la página de inicio pública.
Crearemos una   tabla de base de datos de publicaciones en nuestra base de datos para tener algo para probar nuestros permisos. Por ejemplo, un usuario con el rol de  Editor  podrá editar, actualizar, publicar, anular la publicación y eliminar todas y cada una de las publicaciones, mientras que un Autor  solo tendrá permiso para crear, leer, actualizar y eliminar solo aquellas publicaciones que hayan sido publicadas.  creado por ellos mismos. El administrador  tendrá permiso para crear, actualizar, eliminar otros usuarios y roles administrativos y también para asignar / desasignar permisos a roles y roles a usuarios.
NOTA: Ya hice un tutorial sobre cómo crear una aplicación de blog completa desde cero . Por lo tanto, no implementaremos realmente la creación, eliminación y actualización de publicaciones aquí. Solo demostraremos cómo funcionan estos permisos en torno a las publicaciones. Si desea aprender cómo crear un blog con publicaciones, consulte mi otro tutorial sobre cómo crear un blog en PHP.
En caso de que vuelva a visitar, este tutorial se ha actualizado. ¡Disfrutar!

Estructura del directorio de proyectos.

Cree una carpeta de proyecto llamada  cuentas de usuario  y luego cree otras tres carpetas dentro de ella: admin , incluye , activos , cada una con las siguientes subcarpetas:
admin : esta carpeta contiene el código fuente de la parte admin de la aplicación. En esta carpeta, cree otras tres carpetas, a saber, publicaciones , roles , usuarios .
activos : contendrá archivos públicos a los que accederá el navegador, como imágenes, css, js. Entonces, dentro de los activos, cree imágenes , carpetas css js .
incluye : Esto contendrá parches de código fuente para nuestra aplicación que podemos incluir en diferentes lugares de nuestra aplicación. Dentro de esta carpeta, cree otras dos carpetas: diseños y lógica .
En este punto, nuestra estructura de proyecto está lista. Ahora podemos comenzar a codificar el sistema. Lo haremos en la siguiente parte de este tutorial.
Gracias por su atención y espero verte en la próxima parte .

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

outbrain

Páginas