Pengaturan Role pada User | Laravel
1. Migrasi pada tabel users
$table->string('role')->default('supplier');
2. Simpan data role pada fungsi register()
$user = new User();
$user->role = $validate['role'];
$user->save();
3. Buat middleware CheckRole.php
php artisan make:middleware CheckRole
4. Isi dari CheckRole.php
class CheckRole
{
/**
* Handle an incoming request.
*
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
*/
public function handle(Request $request, Closure $next, $role): Response
{
if(Auth::check() && Auth::user()->role == $role){
return $next($request);
}
return $next($request);
}
}
5. Daftarkan middleware ke App/Http/kernel
'role' => \App\Http\Middleware\CheckRole::class,
6. Tambahkan middleware ke controller
public function __construct()
{
$this->middleware('auth');
$this->middleware('role:admin');
}
Posting Komentar