1

我是 Laravel 的新手。我使用下面代码部分中给出的代码行在用户表中包含了一个名为 status 的附加字段。我正在尝试学习如何根据用户的角色重定向用户。

我知道要检索经过身份验证的用户,我可以使用$user = Auth::user(); 我的问题是如何获取经过身份验证的用户的状态以在redirectTo我计划编写的函数中使用。

// This is how I have added the user status field:
$table->enum('status',['user', 'admin', 'disabled'])->default('user');
4

1 回答 1

0

在 LoginController 中,删除以下行。

protected $redirectTo = '/home'; 

redirectTo()然后向 LoginController添加一个新方法。redirectTo()方法优先于属性redirectTo

public function redirectTo() {

    $role = auth()->user()->status; 

    // Check user status/role
    switch ($role) {
        case 'admin':
            return '/admin';
        case 'user':
            return '/user';
        default:
            return '/login'; 
    }
}
于 2019-03-31T16:03:37.523 回答