-3

我有 LMS 项目并且有 3 个角色admin, 我无法制作中间件来控制任何人对管理员或教师或学生的访问权限,teacher除非student

这是一个 Laravel 7 项目。

4

2 回答 2

0

因此,您可能希望确保每个人都经过正确的身份验证和登录。

在您的路由文件中,您应该运行只有经过身份验证的用户才能通过auth中间件访问的所有路由。

Route::group(['middleware' => ['auth']], function() {
    Route::get('/home', 'HomeController@index')->name('home');
    // more routes
});

要指定应将用户重定向到的位置,您可以打开中间件app/Http/Middlware/Authentication.php并检查方法

protected function redirectTo($request)
于 2021-01-22T16:24:11.563 回答
0

假设您的用户表中有角色列。

中间件代码应该是:

public function handle($request, Closure $next)
    {
        if (Auth::user()-> role === 'ADMIN') {
            return $next($request);
        } else {
            return back();
        }
    }

希望这将是有用的并且不要忘记阅读相同的 Laravel 文档,这将提高你的技能。

同样,您也可以为其他角色创建中间件。

于 2021-01-22T17:18:42.747 回答