Laravel 5.2以管理员身份登录后重定向管理员页面
拉威尔5.2已经发布一段时间了。是的,它有新的身份验证功能,这是非常好的。专门为初学者准备的。 我的问题,,Laravel 5.2以管理员身份登录后重定向管理员页面,laravel,Laravel,拉威尔5.2已经发布一段时间了。是的,它有新的身份验证功能,这是非常好的。专门为初学者准备的。 我的问题,, 如何检查用户是否为管理员,然后正确重定向到管理员/仪表板?我知道一种方法是在数据库中使用admin标志,但你们中的任何人都可以展示一些示例吗?AuthController扩展了AuthenticatesAndRegistersUsers特性,它有一个名为redirectPath的公共方法。在我的例子中,我将在AuthController上扩展该方法,并将我的逻辑放在那里: public
如何检查用户是否为管理员,然后正确重定向到管理员/仪表板?我知道一种方法是在数据库中使用admin标志,但你们中的任何人都可以展示一些示例吗?AuthController扩展了AuthenticatesAndRegistersUsers特性,它有一个名为redirectPath的公共方法。在我的例子中,我将在AuthController上扩展该方法,并将我的逻辑放在那里:
public function redirectPath()
{
if (Auth::user->myMethodToCheckIfUserHasAnAdminRoleLikeAnEmailOrSomethingLikeThat()) {
redirect('admin/dashboard');
}
redirect('home');
}
AuthController扩展了AuthenticatesAndRegistersUsers特性,该特性具有一个名为redirectPath的公共方法。在我的例子中,我将在AuthController上扩展该方法,并将我的逻辑放在那里:
public function redirectPath()
{
if (Auth::user->myMethodToCheckIfUserHasAnAdminRoleLikeAnEmailOrSomethingLikeThat()) {
redirect('admin/dashboard');
}
redirect('home');
}
转到AuthController.php并添加此方法 其中role是数据库中定义的用户角色
protected function authenticated($request,$user){
if($user->role === 'admin'){
return redirect()->intended('admin'); //redirect to admin panel
}
return redirect()->intended('/'); //redirect to standard user homepage
}
转到AuthController.php并添加此方法 其中role是数据库中定义的用户角色
protected function authenticated($request,$user){
if($user->role === 'admin'){
return redirect()->intended('admin'); //redirect to admin panel
}
return redirect()->intended('/'); //redirect to standard user homepage
}
如Laravel 5.3/5.4所示
添加以下行以创建用户表迁移
$table->boolean('is_admin');
将以下方法添加到LoginController
protected function authenticated(Request $request, $user)
{
if ( $user->is_admin ) {
return redirect('/admin/home');
}
return redirect('/home');
}
其他注意事项不要忘记向RedirectIfAuthenticated中间件添加以下行:
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
// the following 3 lines
if (Auth::user()->is_admin) {
return redirect('/admin/home');
}
return redirect('/home');
}
return $next($request);
}
否则,如果您键入域/登录名,并以管理员身份登录,则会将其重定向到主页,而不是管理员/主页。如Laravel 5.3/5.4所示
添加以下行以创建用户表迁移
$table->boolean('is_admin');
将以下方法添加到LoginController
protected function authenticated(Request $request, $user)
{
if ( $user->is_admin ) {
return redirect('/admin/home');
}
return redirect('/home');
}
其他注意事项不要忘记向RedirectIfAuthenticated中间件添加以下行:
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
// the following 3 lines
if (Auth::user()->is_admin) {
return redirect('/admin/home');
}
return redirect('/home');
}
return $next($request);
}
否则,如果您键入域/登录名,并以管理员身份登录,则会将其重定向到home而不是admin/home。在Auth/LoginController中,存在受保护的$redirectTo='/home';
例如,将“/home”更改为“/login”,并创建一个新的控制器,在控制器中获取用户的信息,检查他是否是管理员,然后将他重定向到正确的页面在Auth/LoginController中有受保护的$redirectTo=“/home”;
例如,将“/home”更改为“/login”,并创建一个新的控制器,在控制器中获取用户的信息,检查他是否是管理员,然后将他重定向到正确的页面您尝试了什么吗?嘿,我做了一些事情,但我需要有人在php artisan make:auth命令后告诉我如何做。您尝试了什么吗?嘿,我做了几件事,但我需要有人告诉我如何在php artisan make:auth命令之后完成。