Autenticar y dar acceso a diferentes tipos de usuario | Curso PHP y MySQL #57

Vida MRR - Programacion web
19 Dec 201819:27

Summary

TLDREn este tutorial de PHP y MySQL, se muestra cómo implementar un sistema de acceso basado en roles para diferentes usuarios de un blog. Se explica cómo asignar permisos a administradores, colaboradores y usuarios finales, y cómo restringir el acceso a páginas específicas según el rol del usuario. El proceso incluye la autenticación de usuarios, la utilización de sesiones y la creación de restricciones de acceso en función del rol asignado, proporcionando una guía práctica para desarrollar aplicaciones con control de acceso.

Takeaways

  • 😀 Este tutorial enseña cómo implementar roles de acceso en un blog utilizando PHP y MySQL.
  • 🔒 Los usuarios tienen diferentes niveles de acceso, como administradores, colaboradores y usuarios finales.
  • 📝 El script muestra cómo restringir el acceso a ciertas páginas web según el rol del usuario.
  • 📊 Se utiliza una base de datos con dos tablas principales: 'roles' y 'usuarios', relacionadas mediante una clave foránea.
  • 👤 Los usuarios tienen un campo 'rol' que determina sus permisos dentro del sistema.
  • 🔑 La autenticación de usuarios se maneja mediante un formulario de inicio de sesión y sesión PHP.
  • 🚀 Se incluye un ejemplo de cómo redirigir a los usuarios según su rol después de iniciar sesión.
  • 🛡️ El script también cubre cómo proteger páginas específicas para que solo los roles adecuados puedan acceder.
  • 🔍 Se destaca la importancia de utilizar IDs para los roles en lugar de texto para facilitar la gestión y actualización.
  • 🛠️ Se sugiere la posibilidad de utilizar constantes para los roles en el código para una mejor mantenibilidad.
  • 📚 El tutorial ofrece una guía para crear sistemas o aplicaciones basadas en roles, con recomendaciones de diseño y estructura de base de datos.

Q & A

  • ¿Qué tutorial están viendo los estudiantes en el script proporcionado?

    -Los estudiantes están viendo un tutorial de PHP y MySQL que enseña cómo permitir el acceso a ciertos roles basándose en los permisos de los usuarios.

  • ¿Cuál es el propósito principal del tutorial mencionado en el script?

    -El propósito principal es enseñar a los estudiantes cómo implementar una funcionalidad de control de acceso basada en roles para diferentes usuarios de un blog.

  • ¿Qué ejemplo se utiliza para ilustrar la implementación de roles en el tutorial?

    -Se utiliza el ejemplo de un blog donde se pueden asignar diferentes permisos a roles como administrador, colaborador y usuarios finales.

  • ¿Qué rol tiene el usuario 'marcos' en el ejemplo del tutorial?

    -El usuario 'marcos' tiene el rol de administrador en el ejemplo del tutorial.

  • ¿Cómo se restringe el acceso a ciertas páginas en el tutorial?

    -Se restringe el acceso a ciertas páginas mediante la autenticación de usuarios y la verificación de sus roles para permitir o denegar el acceso a la página.

  • ¿Qué estructura de base de datos se utiliza para manejar los roles y permisos en el tutorial?

    -Se utiliza una base de datos llamada 'blog' con al menos dos tablas: 'roles' y 'usuarios', donde 'roles' tiene columnas para 'id' y 'rol', y 'usuarios' tiene columnas para 'id', 'username', 'password' y 'rol', con una clave foránea que hace referencia al 'id' de la tabla 'roles'.

  • ¿Qué es una 'clave foránea' y cómo se utiliza en el contexto del tutorial?

    -Una 'clave foránea' es un tipo de restricción de integridad referencial en una base de datos que se utiliza para linkear filas de dos tablas. En el tutorial, la clave foránea se utiliza para asociar cada usuario con un rol específico en la tabla 'roles'.

  • ¿Qué método se utiliza para iniciar sesión en el sistema que se está explicando en el tutorial?

    -Se utiliza el método POST para enviar los datos de inicio de sesión (nombre de usuario y contraseña) y se realiza una verificación contra la base de datos para autenticar al usuario.

  • ¿Cómo se asigna el rol de un usuario una vez que se ha autenticado exitosamente?

    -Una vez que un usuario se ha autenticado, se extrae el rol de la fila correspondiente en la tabla 'usuarios' y se asigna a una variable de sesión llamada 'rol'.

  • ¿Qué es una 'variable de sesión' y cómo se utiliza en el tutorial para controlar el acceso?

    -Una 'variable de sesión' es un tipo de variable que se utiliza para almacenar información durante la duración de una sesión de usuario. En el tutorial, la variable de sesión 'rol' se utiliza para determinar qué acceso tiene el usuario una vez que ha iniciado sesión.

  • ¿Cómo se implementa la redirección de usuario basada en su rol después de iniciar sesión en el tutorial?

    -Después de iniciar sesión y asignar el rol a la variable de sesión, se utiliza un 'switch' o 'if-else' para evaluar el rol del usuario y redirigirlo a la página apropiada (como 'admin.php' o 'colaborador.php') según su rol.

  • ¿Qué medidas se toman en el tutorial para evitar que los usuarios no autorizados accedan a ciertas páginas?

    -Se implementa una verificación de sesión y rol en las páginas restringidas. Si el usuario no tiene el rol adecuado o no ha iniciado sesión, se le redirige a la página de inicio de sesión.

  • ¿Cómo se puede mejorar la implementación de roles y permisos para facilitar futuras modificaciones en el tutorial?

    -Se sugiere utilizar constantes en lugar de cadenas de texto para los roles, lo que facilita su cambio en un solo lugar si es necesario y evita errores en el código. Además, se puede utilizar un archivo de configuración central para estas constantes.

Outlines

00:00

😀 Tutorial de roles y permisos en PHP y MySQL

El tutorial comienza con una introducción al manejo de roles y permisos en un blog, utilizando PHP y MySQL. Se plantea la idea de diferentes niveles de acceso, como administradores, colaboradores y usuarios normales, y cómo restringir el acceso a la sección administrativa. El instructor muestra cómo, al no estar implementada la verificación de roles, un formulario continúa mostrando su contenido a pesar de no estar autenticado. Luego, se da un vistazo a la estructura de la base de datos, destacando las tablas de 'roles' y 'usuarios', y cómo se utiliza una columna 'rol' para asignar permisos a los usuarios.

05:03

🔐 Implementación de autenticación y roles en el login

Este párrafo se enfoca en la implementación del proceso de inicio de sesión y cómo manejar la autenticación de usuarios según su rol. Se describe el uso de sesiones para identificar si el usuario ha iniciado sesión y su rol correspondiente. Se detalla el uso de 'session_start()', y cómo se establecen variables de sesión para el rol del usuario. Se incluyen condicionales para redirigir al usuario de acuerdo con su rol, mostrando cómo se restringe el acceso a páginas específicas y cómo se maneja el cierre de sesión.

10:03

📝 Proceso de conexión a la base de datos y verificación de usuario

El script sigue con la explicación del proceso de conexión a la base de datos y la verificación de las credenciales de inicio de sesión. Se menciona la creación de variables para el nombre de usuario y contraseña, y se describe cómo se realiza una consulta preparada para buscar coincidencias en la tabla 'usuarios'. Se resalta la importancia de manejar correctamente la conexión y la extracción de datos, así como la verificación de la existencia de un rol para el usuario autenticado y la asignación de este rol a la sesión del usuario.

15:07

🚦 Restricciones de acceso basadas en roles y configuración de páginas

El último párrafo se centra en la restricción de acceso a diferentes páginas basadas en el rol del usuario. Se describe cómo se implementa la verificación de roles en las páginas 'admin' y 'colaborador', y cómo se redirige al usuario de acuerdo con su rol y la existencia de una sesión válida. Se discuten los problemas que pueden surgir si no se configuran correctamente las restricciones de acceso y se muestra cómo se resuelven estas situaciones. El tutorial concluye con una revisión de los comentarios y sugerencias del instructor sobre cómo mejorar y adaptar la implementación de roles y permisos en diferentes aplicaciones.

Mindmap

Keywords

💡PHP

PHP es un lenguaje de programación de código abierto especialmente adecuado para el desarrollo web y la creación de aplicaciones en servidor. En el video, se utiliza PHP para crear un sistema de gestión de roles y permisos en un blog, mostrando su capacidad para interactuar con bases de datos y controlar el acceso a diferentes secciones de una aplicación web.

💡MySQL

MySQL es una base de datos relacional de código abierto y muy utilizada en el desarrollo web. En el contexto del tutorial, MySQL se emplea para almacenar información de usuarios, roles y permisos, siendo fundamental para la implementación del sistema de control de acceso que se describe.

💡Roles

En el video, 'roles' se refiere a las diferentes categorías de usuarios en un blog, como administradores, colaboradores y usuarios finales, cada uno con un nivel de acceso y permisos específicos. El concepto de roles es central en la gestión de permisos y en el diseño de sistemas que requieren autenticación y autorización.

💡Permisos

Los 'permisos' son las restricciones o capacidades que se asignan a los usuarios o roles en un sistema, determinando qué acciones pueden realizar. En el tutorial, se implementa un sistema de permisos para que diferentes roles tengan acceso limitado a diferentes áreas del blog.

💡Autenticación

La 'autenticación' es el proceso de verificar la identidad de un usuario a través de un nombre de usuario y contraseña. En el script, se menciona la necesidad de autenticar a los usuarios antes de permitirles acceder a áreas restringidas del sitio web.

💡Sesiones

Las 'sesiones' son una forma de recordar la información del usuario después de que inicia sesión, permitiendo una experiencia personalizada y el mantenimiento del estado de autenticación. En el video, se utiliza la sesión para almacenar el rol del usuario y controlar su acceso a diferentes páginas.

💡Llaves foráneas

Una 'llave foránea' es una restricción de integridad referencial en una base de datos que evita la inserción de datos inconsistentes. En el contexto del video, se establece una relación de llave foránea entre la tabla de usuarios y la tabla de roles para asegurar que cada usuario tenga un rol válido asignado.

💡Restricciones

Las 'restricciones' son reglas que se aplican a los datos en una base de datos para garantizar su integridad y coherencia. En el tutorial, se establecen restricciones para que, por ejemplo, la eliminación de un rol también elimine los usuarios asociados a ese rol.

💡Validación

La 'validación' es el proceso de verificar que los datos proporcionados por el usuario son correctos y cumplen con los requisitos del sistema. En el script, se realiza la validación de las credenciales de inicio de sesión y la verificación de que el usuario tiene el rol adecuado para acceder a ciertas páginas.

💡Redirección

La 'redirección' es el proceso de enviar a un usuario a una página web diferente después de una acción o evento. En el video, se utiliza la redirección para enviar a los usuarios a diferentes páginas según su rol y permisos después de que inician sesión.

Highlights

Tutorial de PHP y MySQL para implementar acceso basado en roles.

Ejemplo práctico de un blog con diferentes permisos para usuarios.

Importancia de restringir el acceso a páginas específicas para usuarios no autenticados.

Proceso de autenticación y asignación de roles mediante sesiones en PHP.

Estructura de la base de datos para roles y usuarios con ejemplos de columnas y restricciones.

Uso de llaves foráneas para vincular roles a usuarios y asegurar integridad referencial.

Implementación de un formulario de inicio de sesión y su conexión con la base de datos.

Validación de inicio de sesión y asignación de roles a la sesión de usuario.

Condicionales para redirigir usuarios según su rol y acceso a páginas.

Manejo de sesiones y cierre de sesión en PHP.

Restricciones de acceso a páginas administrativas para usuarios con roles específicos.

Estrategia para evitar el acceso no autorizado a páginas restringidas.

Uso de constantes para simplificar y centralizar la configuración de roles.

Métodos para identificar y redirigir usuarios según su rol asignado.

Prueba de funcionalidad con diferentes roles y permisos de acceso.

Conclusión del tutorial y sugerencias para mejorar y aplicar la implementación en proyectos reales.

Transcripts

play00:00

bienvenidos a un nuevo tutorial de

play00:02

nuestro curso de php y mysql en nuestra

play00:04

ocasión vamos a realizar un pequeño

play00:06

tutorial para permitir el acceso a

play00:09

ciertos roles dependiendo de cuál sea el

play00:13

permiso para los usuarios

play00:15

[Música]

play00:20

esta es una de las preguntas o de los

play00:22

tutoriales que me han pedido a hacer en

play00:24

donde lo que quieren es ver cómo se

play00:27

implementaría esta funcionalidad de

play00:29

imagínense que yo no sé tengo un blog no

play00:32

entonces en un blog tú puedes asignar

play00:35

diferentes permisos por ejemplo está el

play00:37

administrador de todo el blog están los

play00:40

colaboradores está la gente a lo mejor

play00:41

que solamente tiene acceso a ver

play00:45

entradas

play00:47

y obviamente están los usuarios finales

play00:49

los usuarios finales pues no debería

play00:52

tener ningún tipo de acceso a la parte

play00:55

administrativa del blog pero los otros

play00:58

roles sí y dependiendo de qué tipo de

play01:00

roles que algo mejor van a tener una

play01:02

vista diferente entonces es lo que

play01:04

avance el día de hoy yo aquí tengo por

play01:06

ejemplo este pequeño formulario y si le

play01:08

digo a bueno primero no no tengo nada

play01:11

implementa entonces voy a por ejemplo a

play01:13

ir a admin php cuando le doy clic me

play01:17

sigue mostrando mi formulario por qué

play01:19

porque nuestros logueado tengo otra

play01:21

página que se llama cola de

play01:23

colaboradores

play01:24

y de igual forma me sigue mandando al

play01:27

login esto es porque pues porque estoy

play01:29

restringiendo el acceso de esas páginas

play01:30

para que no puedan ingresar los usuarios

play01:34

sin que estén autenticados ahora qué

play01:36

pasa si no auténtico por ejemplo con mi

play01:39

mi cuenta marcos y password marcos

play01:42

entonces

play01:45

yo soy administrador entonces si le doy

play01:47

iniciar sesión me manda la página que

play01:50

dice administrador ahora yo como

play01:53

administrador configure que no pueda

play01:55

haber cola punto php entonces me va a

play01:58

seguir mandando siempre

play02:01

mi panel de administrador si me voy a ir

play02:04

al login

play02:05

también me manda administrador porque no

play02:06

tiene sentido que vaya al login sólo

play02:09

hasta que me des lo que por ejemplo yo

play02:11

le puse aquí login php

play02:16

y cerrar

play02:18

sesión es igual a 1 ya con ésta cerré

play02:21

sesión y bueno ya regresé a mi

play02:23

formulario inicial entonces eso es lo

play02:26

que vamos a hacer y vamos a

play02:27

implementarlo vamos a empezar con

play02:30

nuestro tutorial lo que aquí ya tengo

play02:32

van a ser varios sitios o varias páginas

play02:35

de hecho index digamos sería el acceso

play02:37

general de los usuarios para ver las

play02:40

entradas de tu blog

play02:42

en este caso digo para hacer un modelo

play02:44

muy sencillo y el tutorial no dure tanto

play02:46

vamos a omitir esta parte porque es la

play02:49

parte en la que simplemente mandamos a

play02:51

llamar a las entradas de nuestro blog

play02:53

entonces empezando primero vamos a ver

play02:57

nuestra base de datos es una base de

play02:59

datos que el puse blog tiene 22 tablas

play03:03

vamos a revisar cada una la primera

play03:05

tabla es de roles ahora

play03:08

mucho también me me dicen que por qué no

play03:10

muestro como creó las tablas dio

play03:12

realmente ya estamos grandecitos en esta

play03:16

parte del tutorial entonces les voy a

play03:18

explicar la estructura

play03:20

tengo dos campos dos columnas una que se

play03:24

llama haití es un entero dos un rol que

play03:28

es un marcha el aire es audio

play03:31

incrementarle y obviamente le puse que

play03:33

es un prime maric y porque éste tiene

play03:35

que ser único ok y el roll tus jazz no

play03:39

tiene nada más eso es todo vamos a ir a

play03:41

usuarios

play03:43

aquí tengo más columnas voy a ir a la

play03:46

estructura

play03:48

entonces tengo el lady normal esto no

play03:51

debería ser ningún problema para

play03:54

para estructurarlo username y un

play03:57

password ok algo interesante aquí es

play04:00

esta columna que le puse el rol de ok

play04:04

este roland y ven que tiene una

play04:07

llavecita gris es porque es un force en

play04:09

que int

play04:11

2 entonces este rol aid y me va a servir

play04:14

para asignarle a cada usuario un permiso

play04:17

entonces se mueve aquí en religión view

play04:20

voy a ver que hay una sección para crear

play04:26

restricciones o lo que haríamos forem

play04:28

que entonces yo aquí por ejemplo puedes

play04:31

poner constraints le dice s cómo quieres

play04:34

que me to to restricción a tu for key

play04:37

aquí le pones que como es cuando se

play04:41

actualiza se elimina en cascada si no

play04:46

pasa nada cuando se elimine o cuando se

play04:48

actualice etcétera yo lo dejé igual así

play04:51

como está le ponemos por ejemplo a la

play04:54

columna que queremos que sea for en que

play04:56

de nuestra tabla en este caso sea rol a

play04:59

eddie y después escogemos la información

play05:02

de dónde se va a obtener entonces por

play05:04

ejemplo es blog mi base de datos

play05:07

mi tabla se llama roles y mi columna se

play05:10

llama haití entonces es por eso que crea

play05:13

un foro y como se ve cuando yo le doy

play05:15

insert ya lo vimos anteriormente en la

play05:19

lección de forem keys o llaves foráneas

play05:23

que yo poder rellenar mis datos y aquí

play05:25

ya me salen los perfiles o los roles que

play05:29

yo puedo asignar entonces es de esa

play05:30

forma como integre esta tabla de

play05:33

usuarios ok y estoy poniendo la ddi

play05:37

porque a través de la ddi se me hace

play05:39

mucho más fácil identificar el rol por

play05:42

qué digo esto porque si el rato yo

play05:44

quiero cambiar

play05:45

por ruth o super administrador tendría

play05:48

que cambiar todo el código pero el idish

play05:50

siempre es el mismo

play05:52

si a la mera hora colaboradores no sé

play05:54

modo lectura oeste no sé escritor no me

play05:59

importa porque el aire número dos sé que

play06:02

está asociado a este tipo de error

play06:04

entonces por eso yo prefiero trabajar

play06:06

con los idish que con el texto pero de

play06:10

todas formas lo específico aquí pues

play06:12

para saber entonces vamos a ir ahora sí

play06:16

a nuestro código yo aquí tengo tengo 35

play06:19

archivos como le decía el ex no tiene

play06:22

nada entonces lo vamos a dejar así login

play06:25

tiene un formulario tiene ni hacer

play06:28

ningún password tiene dos input con el

play06:31

name is earl nine y password método post

play06:34

y apunta a él mismo porque aquí vamos a

play06:37

incluir la validación después vamos a ir

play06:39

a través de ata veces la clase que hemos

play06:41

utilizado en todo el curso en el que

play06:44

hacemos referirse en nuestra base de

play06:45

datos

play06:46

collapse nada más es un archivo html con

play06:50

un h 11 header que dice colaborador y

play06:54

admin es lo mismo pero con administrador

play06:57

entonces el único que necesitamos para

play06:58

empezar

play06:59

vamos a empezar con la parte más difícil

play07:02

que es login entonces lo primero es que

play07:05

vamos a utilizar sesiones entonces voy a

play07:08

ponerle sesión

play07:10

start

play07:13

ok y lo primero es identificar vamos a

play07:18

hacer varios varios condicionales lo

play07:21

primero es saber por ejemplo si tengo

play07:25

que cerrar sesión ven que le ponía en la

play07:27

barra de dirección a cerrar sesión es

play07:28

igual 1 no ponerle get

play07:32

al front

play07:33

voy a ponerle cerrar sesión

play07:37

si existe esto

play07:40

aquí

play07:44

sí sí existe encerrarse cierto entonces

play07:47

voy a ponerles sesión en el set

play07:51

y sesión de strike

play07:56

ok y listo el único que necesitamos para

play07:58

cerrar sesión

play07:59

ahorita no después lo que tenemos que

play08:02

hacer es revisar si hay sesión de error

play08:04

nos lleva a poner xii set

play08:10

y ahora voy a especificar station

play08:17

mi sesión se va a llamar roll entonces

play08:20

si existe el roll

play08:21

voy a ponerle un switch

play08:25

ok con mí

play08:28

variable decisión

play08:33

ahora aquí voy a poner los casos que is

play08:36

one esto es un sí es un admin y que esto

play08:40

sí es un colaborador que es lo que voy a

play08:43

hacer aquí bueno si llega una sesión no

play08:45

necesito volver a presentar mi vista d

play08:50

de login entonces basta con ponerle un

play08:52

header

play08:54

ponerle location

play08:57

admin php

play09:00

y en el otro header colaba

play09:05

si tuviéramos más roles para que lo

play09:07

tendríamos que ir 364 etcétera entonces

play09:11

es la forma más fácil que hay pues para

play09:15

de redirigir al usuario en caso de que

play09:18

esté ingresando a páginas que no

play09:20

necesariamente tienen acceso entonces en

play09:22

este caso ya estamos configurando esta

play09:25

parte y listo ese es nuestro segundo

play09:27

condicional

play09:29

vamos con el tercero que es ahora sin

play09:31

autenticar a un usuario entonces lleva a

play09:34

poner if i set

play09:39

y set

play09:41

porque voy a validar que exista tanto un

play09:43

nombre de usuario como un password se

play09:45

suele ponerle post

play09:48

si existe el ies hernán

play09:52

esto

play09:56

y 777 password

play10:02

si existen los dos entonces voy a crear

play10:05

primero mis variables para no usar todo

play10:07

el post username

play10:12

password

play10:17

y listo

play10:20

ahora necesito hacer mi conexión aquí y

play10:22

tengo incluido en un clic en club bounce

play10:24

database punto php entonces necesito

play10:27

crear un objeto de v es igual a new data

play10:30

veis

play10:33

query esto va a ser igual la database

play10:39

y recuerde desconecte

play10:42

y tengo que preparar mi sentencia

play10:44

entonces le va a poner selecta from

play10:48

usuarios

play10:50

pues username sea igual a dos puntos y

play10:57

username

play11:00

password sea igual a dos puntos password

play11:04

listo ahora tengo que decirle

play11:09

query

play11:12

execute y le voy a incluir en un arreglo

play11:16

mis valores entonces por hoy user name

play11:20

esto es igual a mi variable username

play11:23

coma

play11:25

password

play11:27

es igual a

play11:29

mi variable password

play11:32

y listo entonces ya tengo mi conexión

play11:34

pero esto solamente me va a tener los

play11:36

datos entonces voy a ponerle un robo

play11:40

y esto va a ser igual a query es igual

play11:42

la fecha voy a poner para qué fecha

play11:47

manda

play11:49

así

play11:52

fecha no esto es para que me lo

play11:55

transforme a un arreglo que puedo

play11:57

utilizar

play11:58

y voy a ponerle

play12:03

si rock es igual a otro es decir que

play12:05

existe contenido en este arreglo

play12:08

entonces aquí tengo que validar el rol

play12:12

no si no existe

play12:15

y luego poner aquí que no existe

play12:20

es decir no pudo encontrar el match del

play12:22

usuario con el password ya que puedo

play12:24

ponerle el usuario o contraseña son

play12:29

incorrectos

play12:31

lista entonces esto ya lo podemos probar

play12:34

así como está si no regreso a crear una

play12:38

nueva pestaña

play12:41

y en vez de terminados para ponerle

play12:43

tutorial

play12:47

el login

play12:51

aquí está si yo lo pongo lo que sea

play12:53

iniciar sesión me dice el usuario

play12:56

contraseña son incorrectos ok qué pasa

play12:59

si le pongo el correcto marcos marcos

play13:04

ya no me sale nada ok eso quiere decir

play13:06

que si lo auténtico y por último pues

play13:10

tenemos que extraer el rol entonces yo

play13:12

puedo ponerle el rol este es igual a row

play13:18

así y recuerden que es mi tercer el 0 la

play13:23

columna 0 slide y nombre de usuario

play13:26

entonces sería el 3 tercer campo o

play13:29

tercera columna de mis resultados

play13:32

y ya con esto tengo el roll ahora

play13:35

necesito asignarlo a mi sesión entonces

play13:37

voy a ponerle station

play13:40

y luego poner roll es igual a roll

play13:44

ok ya con esto le estoy asignando el rol

play13:48

que tiene y por último voy a hacer un

play13:49

switch voy a copiar este mismo switch

play13:53

teóricamente podríamos esto ponerle una

play13:55

función para que realmente no tengamos

play13:57

que repetir este código aquí

play14:01

entonces dependiendo del rol me va a

play14:04

mandar ya sea a admin oa cola ok y vamos

play14:08

a verlo entonces voy a ponerle en marcos

play14:11

marcos voy a iniciar sesión y ya me

play14:14

manda al administrador pero qué pasa que

play14:17

todavía si yo por ejemplo me meto a

play14:18

colar puedo también ver la parte de cola

play14:21

ahora voy a desbloquear muy voy a

play14:23

ponerle login punto php

play14:26

cerrar sesión es igual a 1 o que ya hace

play14:30

recesión

play14:32

qué pasa si pongo juan y juan juan es un

play14:35

colaborador me manda colaborador pero no

play14:38

debería poder tener acceso a administran

play14:41

si estaba me falta configurar esta parte

play14:43

de las páginas vamos a regresar a

play14:45

nuestras páginas

play14:47

aquí en admin por ejemplo vamos a

play14:50

iniciar sesión

play14:53

sesión start

play14:57

voy a ponerle un id

play15:01

voy a ponerle si no existe

play15:06

station

play15:11

si no existe una sesión que se llame

play15:13

role 1 para empezar no necesitaríamos

play15:15

tener acceso entonces luego con un

play15:18

header location lo voy a mandar a

play15:20

login.cl ok

play15:24

si existe la sesión tengo que validar

play15:26

que sea del rol adecuado entonces en mi

play15:31

caso con no estoy de admin existe

play15:33

validar que sesión

play15:39

igual a 1

play15:42

entonces voy a ponerle que es diferente

play15:44

de uno para poder

play15:48

a través de él para poder igual

play15:52

redirigir al usuario a login si es que

play15:56

quiere entrar como administrador va a

play15:59

tener que ser a través de login

play16:01

entonces como estoy y validando tanto

play16:03

que exista la sesión como que en la

play16:05

sesión haga referencia al rol correcto y

play16:08

como les decía basta con ponerle un 1

play16:10

esto podríamos simplificarlo más en vez

play16:13

de ponerle un string el cual podríamos

play16:16

llegar a tener problemas si lo

play16:18

escribimos mal o si posteriormente lo

play16:20

cambiamos de nombre entonces con esto

play16:23

entonces voy a darle actualizar

play16:27

recuerden que tenía la sesión de juan

play16:28

entonces ya me manda aquí al login

play16:32

a ver vamos a ver cola

play16:36

jazmín

play16:38

no debería haber muy mandado ahorita

play16:40

vamos a ver eso

play16:42

vamos a ver con sabes

play16:45

se supone que ya aquí en login

play16:52

tiene que identificar este

play16:58

a ver vamos a lograr más de uno

play17:02

administrador y si me voy a colar

play17:05

bueno aquí todavía me deja admin el blog

play17:09

y ya me está redirigiendo si soy

play17:12

administrador me redirige administrador

play17:14

ya no me deja ponerle login

play17:17

si está funcionando me falta poner este

play17:19

mismo código de admin

play17:23

triste

play17:25

en colaba

play17:28

a ver desde acá

play17:31

ok en cola

play17:34

pero en vez de que sea uno voy a ponerle

play17:36

2

play17:37

entonces si me voy a colar

play17:41

me siguen mandando administrador si le

play17:43

pongo login me siguen mandando a

play17:46

administrador si le pongo index ahí no

play17:48

hay ninguna validación me manda

play17:50

correctamente vamos a ponerle login voy

play17:52

a cerrar sesión

play17:55

aquí está y ahora voy a probar con por

play17:59

ejemplo sin estar logueado voy a ponerle

play18:01

admin php me sigue mandando aquí voy a

play18:06

ponerle cola punto php me manda a login

play18:09

y si por ejemplo me lo veo con juan que

play18:11

es un colaborador iniciarse siendo la

play18:15

colaborador si me voy a admitir no me

play18:17

deja ir si me voy a

play18:22

login

play18:25

me sigue mandando al colaborador

play18:26

entonces ya está correcto la

play18:29

configuración de los roles con las

play18:31

páginas entonces esta es una pequeña

play18:34

muestra de cómo podemos configurarlo

play18:36

realmente curiosidad es bastante fácil

play18:39

recuerden utilizarlos hay dicen en todo

play18:41

caso de que pues estén queriendo

play18:44

utilizar más de un rol o en todo caso

play18:47

utilice una constante entonces hablan

play18:49

referencia esa constante para que

play18:51

también en caso de que quieran cambiar

play18:53

este valor lo hagan directamente desde

play18:56

un archivo central como en configuración

play18:58

y se reflejen en todas las páginas a las

play19:01

que hagan referencia entonces espero les

play19:03

haya gustado este tutorial no dude

play19:04

dejarme en sus comentarios si con esto

play19:07

le sirvió para poder crear algún sistema

play19:09

o aplicación basado en roles también me

play19:12

gustaría que me lo comentara si les

play19:15

gustó este vídeo grande un like

play19:16

suscríbase al canal para recibir más

play19:18

notificaciones de cuando se publique en

play19:21

los siguientes tutoriales y bueno si no

play19:24

hay nada más nos vemos la próxima

Rate This

5.0 / 5 (0 votes)

関連タグ
PHPMySQLRolesPermisosBlogSeguridadAutenticaciónAdministradorColaboradorAccesoTutorial
英語で要約が必要ですか?