使用中间件管理不同用户角色登录/重定向到Laravel中的不同视图?
我是拉威尔的初学者。我使用的是laravel auth,我在迁移的用户表中添加了一个用户角色字段。然后,我使用两个角色(如admin和user)注册到应用程序。但当我登录时,在用户详细信息的帮助下,它会自动检查用户角色,并分别加载管理员视图或用户视图。因此,中间件将在视图和控制器之间调用。事情是怎么发生的。提前谢谢 我的代码: RegisterController.php使用中间件管理不同用户角色登录/重定向到Laravel中的不同视图?,laravel,Laravel,我是拉威尔的初学者。我使用的是laravel auth,我在迁移的用户表中添加了一个用户角色字段。然后,我使用两个角色(如admin和user)注册到应用程序。但当我登录时,在用户详细信息的帮助下,它会自动检查用户角色,并分别加载管理员视图或用户视图。因此,中间件将在视图和控制器之间调用。事情是怎么发生的。提前谢谢 我的代码: RegisterController.php protected function validator(array $data) {
protected function validator(array $data)
{
return Validator::make($data, [
.....
'role' => 'required|min:4|',
]);
}
protected function create(array $data)
{
return User::create([
....
'role' => $data['role'],
]);
}
AdminController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class AdminController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function index()
{
return view('home');
}
}
kernel.php
protected $routeMiddleware = [
....
'admin' => \App\Http\Middleware\AdminMiddleware::class,
];
当您转到此路径时,是否会被重定向到登录页面?你面临的问题是什么?你面临的问题是什么?我无法获得用户角色,根据该角色,如果用户是管理员或普通用户,我的页面应路由到特定页面。有人可以帮助我完成整个代码,因为此代码不适用于我。
Route::group(['middleware' => 'App\Http\Middleware\AdminMiddleware'], function()
{
Route::get('/home', function()
{
return view('home');
});
});
protected $routeMiddleware = [
....
'admin' => \App\Http\Middleware\AdminMiddleware::class,
];