Laravel nos ofrece unas librerías para poder establecer un sistema de sesiones y perfiles bastante completos, con ello podemos aprovechar toda esta infraestructura para concentrarnos solo en el detalle de nuestra aplicación y su lógica.
Restringir el Acceso de Forma Básica
En vez de hacer algo muy complejo, vamos a concentrarnos en dar acceso a ciertas páginas solamente a los usuarios autenticados en nuestra aplicación, imaginemos que si tuviésemos un blog solo quienes se loguean o tengan usuario son los que pueden generar notas o entradas.
Bajo este principio ya estamos estableciendo la segmentación necesaria que hará que podamos generar dos zonas claras en nuestra aplicación.
Construyendo la Restricción
Para efectivamente construir la restricción debemos tener ya creado un [color=#0000cd]sistema de autenticación de usuarios[/color], con ello podremos diferenciar a quienes han iniciado sesión de los que no lo han hecho, luego podremos trabajar con los diferentes métodos de la clase Auth de Laravel con la cuál podremos hacer los filtros correspondientes.
Lo primero que debemos hacer es crear un archivo de filtros, para ello vamos a crear una ruta que contenga la declaración que se utilizará para generar el filtro, veamos en la siguiente imagen como la construimos:
Luego que hemos hecho esto necesitamos crear el filtro dentro del archivo filters.php que hemos generado, aquí irá la validación que necesitamos, como este es un caso sencillo no tendrá mayor complejidad, veamos:
Aquí simplemente vemos que si el usuario no está logueado lo enviamos a loguearse y si el usuario intenta acceder a un área de administrador y no lo es, lo enviamos a otra sección donde debe presentar sus credenciales como tal. El siguiente paso es generar una ruta restringida y una ruta de administradores, con ello cubriremos estos dos casos que hemos filtrado. En este caso generamos la ruta para el área restringida:
Notamos que corremos en la ruta la vista que generamos para la restricción del acceso y generamos un mensaje en caso que no pase nuestro filtro el usuario. Ahora veamos el caso en el cual debemos restringir el acceso solo a usuarios administradores, al igual que en el caso anterior haremos uso del método before para poder ejecutar la validación del filtro:
Como vemos hemos generado un sistema de filtrado muy básico pero que nos sirve para poder segmentar de forma efectiva nuestros usuarios y de esta manera poder tener áreas para diferentes tipos de perfil en nuestras aplicaciones.
Con esto finalizamos el tutorial, recomendamos leer un poco más sobre la clase Auth y todos los métodos que tiene, ya que dicha clase de Laravel nos va a ayudar mucho a generar todo lo relacionado con la autenticación y autorización de usuarios.