Laravelで権限に応じてアクセスを許可する方法【Gate】

Laravelで、例えばUsersテーブルに権限を表すroleカラムを追加して、roleの値が1だった場合は管理者とみなしてページへのアクセスを許可する場合はAppServiceProviderに以下を追記します。

use App\Models\User;
public function boot()
    {
        Gate::define('is_admin', function (User $user) {
            return $user->role === 1;
        });
    }

また、ルートを以下のように設定します。

use App\Http\Controllers\UserController;
Route::middleware('can:is_admin')->group(function () {
    Route::resource('/users', UserController::class);
});

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)