Curso Flutter y Laravel Tienda Delivery

Roles de usuario

Para establecer roles de usuario en una aplicación web en Laravel, es necesario declarar dos modelos role y role_user con sus relaciones y migraciones.

Lección 14 del Curso Flutter y Laravel Tienda Delivery

Roles de usuario

POR LA COMPRA DEL CURSO COMPLETO

  • MIRA TODOS LOS VIDEOS SIN RESTRICCIÓN
  • TEN ACCESO AL CURSO DE POR VIDA
  • DESCARGA TODO CÓDIGO FUENTE DEL PROYECTO
  • ACCESO A CURSOS Y RECURSOS GRATIS

Flutter y Laravel Tienda Delivery

¿Cómo hacer un sistema de roles en Laravel para una tienda virtual?

DESCRIPCIÓN DE LA LECCIÓN

Para establecer roles de usuario en una aplicación web en Laravel, es necesario declarar dos modelos role y role_user con sus relaciones y migraciones.

Pasos:

Para establecer roles de usuarios puedes seguir los siguientes pasos:

  1. Crear modelos role y role_user
  2. Establecer sus relaciones
  3. Crear las migraciones y migrar
  4. Crear un middleware e implementarlo
  5. Declarar el middleware en kernel.php
  6. Modificar y ordenar las rutas de acuerdo al ingreso del usuario segun el rol.
  7. Modificar y validar el registro del usuario asignando un rol automáticamente
  8. Modifiar y validar el controlador del login para redirigir al usuario según el rol que tiene establecido.

Veamos parte del código del controlador del registro

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
...
...
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;

class RegisterController extends Controller
{
   

    use RegistersUsers;

   
    protected $redirectTo = RouteServiceProvider::HOME;

    public function __construct()
    {
        $this->middleware('guest');
    }

    
    protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => ['required', 'string', 'max:255'],
            'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
            'password' => ['required', 'string', 'min:8', 'confirmed'],
        ]);
    }

    /**
     * Create a new user instance after a valid registration.
     *
     * @param  array  $data
     * @return \App\User
     */
    protected function create(array $data)
    {
        $user = User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => Hash::make($data['password']),
        ]);
        $user->roles()->attach(Role::where('name','cliente')->first());
        return $user;
    }

    protected function redirectTo(){
        if(Auth::user()->hasRole('cliente')){
           ...
        }
        return "/";
    }
}

 


POR LA COMPRA DEL CURSO COMPLETO

  • MIRA TODOS LOS VIDEOS SIN RESTRICCIÓN
  • TEN ACCESO AL CURSO DE POR VIDA
  • DESCARGA TODO CÓDIGO FUENTE DEL PROYECTO
  • ACCESO A CURSOS Y RECURSOS GRATIS

Flutter y Laravel Tienda Delivery

762 visitas

Lecciones del curso

VER MÁS CURSOS
Logo Codea App

Develop your code

Perú, México, Colombia, España, Venezuela, Argentina, Bolivia

You Fb Tik Pin

© Todos los derechos reservados CODEA APP | Cursos de programación avanzados con proyectos reales | 2020 - 2021