①AuthServiceProviderでGateの設定
Gate::define('admin', function($user) {
foreach($user->roles as $role){
if($role->name=='admin') {
return true;
}
}
return false;
});
②ルート設定(web.php)でミドルウェエア適用
Route::middleware(['auth', 'can:admin'])->group(function () {
Route::get('/register', [RegisteredUserController::class, 'create'])->name('register');
});
③RegisteredUserControllerでコンストラクタに次のように制限をかける
public function __construct()
{
$this->middleware('can:admin');
}