如何获取已验证用户的角色/状态?

时间:2019-03-31 14:46:13

标签: laravel-5.8

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

我了解要检索经过身份验证的用户,我可以使用$user = Auth::user();,我的问题是如何获得打算在计划编写的redirectTo函数中使用的经过身份验证的用户的状态。 / p>

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

1 个答案:

答案 0 :(得分: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'; 
    }
}