我有 LMS 项目并且有 3 个角色admin
,
我无法制作中间件来控制任何人对管理员或教师或学生的访问权限,teacher
除非student
这是一个 Laravel 7 项目。
我有 LMS 项目并且有 3 个角色admin
,
我无法制作中间件来控制任何人对管理员或教师或学生的访问权限,teacher
除非student
这是一个 Laravel 7 项目。
因此,您可能希望确保每个人都经过正确的身份验证和登录。
在您的路由文件中,您应该运行只有经过身份验证的用户才能通过auth
中间件访问的所有路由。
Route::group(['middleware' => ['auth']], function() {
Route::get('/home', 'HomeController@index')->name('home');
// more routes
});
要指定应将用户重定向到的位置,您可以打开中间件app/Http/Middlware/Authentication.php
并检查方法
protected function redirectTo($request)
假设您的用户表中有角色列。
中间件代码应该是:
public function handle($request, Closure $next)
{
if (Auth::user()-> role === 'ADMIN') {
return $next($request);
} else {
return back();
}
}
希望这将是有用的并且不要忘记阅读相同的 Laravel 文档,这将提高你的技能。
同样,您也可以为其他角色创建中间件。