私は、ユーザーがミドルウェアを持つ管理者であるかどうかをチェックしますが、5.3は不可能です。私は前にこのコードを使用しました:Laravel 5.3ミドルウェア(Auth :: user())= null
if(Auth::guest()) //If the user is just a guest
{
return redirect("/");
}
if(Auth::user()->isAdmin == 1) //If the user is logged in and he is the Admin
{
return $next($request);
}
else //If the user is not the admin he can't see this page
{
return redirect("/");
}
}
現在、私は運がないと以下を試しました。ユーザーが管理者または通常のユーザーであるかどうかを確認する方法の正しい方向に誰かを指摘できますか?
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($request){
if ($request->user()->role == 'Admin'){
return "yes";
}
}
return $next($request);
}
ユーザーモデルにisAdminフィールドがありますか?また、データベースにログインしようとしているユーザーのフィールドが1に設定されているかどうかを確認してください。 – pseudoanime
'if($ request-> user() - > role = 'Admin'){'はここの鍵です。 '=='を使う必要があります。 – Kyslik
ありがとうございました。私は何を試していたのかを書き留めておきました。それでも、ユーザーがサインインしていない場合はデフォルト値を割り当てる必要があると言います。コードの修正もあります。 – master