問題描述
在 laravel 5.1 中檢查管理員角色 (Checking admin roles in laravel 5.1)
我正在使用 Laravel 框架做我的項目。一切似乎都很完美。但是,在我的登錄部分,我想做一些事情,比如當用戶登錄系統時,它會檢查“is_admin”列。如果“is_admin”列等於 1,它將直接進入管理頁面。我一直在互聯網上尋找,但我找不到這個問題的答案。我也確實使用了中間件,但它沒有用。我不知道為什麼。有人可以幫我解決這個問題。謝謝
參考解法
方法 1:
Laravel 5.1 allows authorization, you can add something like this in your AuthServiceProvider
public function boot(GateContract $gate){
$gate‑>define('admin', function($user){
return $user‑>is_admin;
});
}
Then use the Gate
facade in your controllers like
$user=Auth::user();
if(Gate::allows('admin', $user)){
//user is admin
}
Take a look at this part of Laravel's documentation http://laravel.com/docs/5.1/authorization
方法 2:
You can write this in your AuthController.php
if(Auth::user()‑>is_admin == 1){
protected $redirectTo = 'admin';
}else{
protected $redirectTo = 'member';
}
The avobe code is only for redirection. You can use middleware to protect admin panel from member.
(by Huy Le、Saad、smartrahat)