Login Controller我有我的home.blade.php和我的admin.blade.php 问题是验证正在home.blade.php内部进行 我的问题是,如何在登录按钮中进行验证?
答案 0 :(得分:0)
如果使用扩展刀片语法,则可以使用内联来扩展派生布局,具体取决于这样的角色:
@extends((auth()->user()->hasRole('Admin')) ? 'layouts.admin' : 'layouts.home')
或覆盖redirectTo()
和LoginController.php
中的RegisterController.php
函数,如下例:
public function redirectTo(){
// User role
$role = Auth::user()->role->name;
// If your using 'spatie/laravel-permission' you can do something like this
$role = auth()->user()->getRoleNames()->first();
// Check user role
switch ($role) {
case 'Admin':
return '/admin-home';
break;
case 'Manager':
return '/projects';
break;
default:
return '/home';
break;
}
}
还必须在两个控制器上都删除此属性:
protected $redirectTo = '/home';
答案 1 :(得分:0)
将我的代码复制并粘贴到您的LoginController.php
和RegisterController.php
中:
public function redirectTo(){
// Check if user is Admin
if(auth()->user()->isAdmin) // if IsAdmin == 1 user is an Admin
{
return '/admin';
}
else // if IsAdmin != 1 user is not an Admin
{
return '/home';
}
}
此外,您还必须在两个控制器上评论此属性:
// protected $redirectTo = '/home';