自定义重定向登录 Laravel

Customized redirect login Laravel

我正在尝试设置一个规则,如果用户是 WorkerAuditor 并登录,他将被重定向到 /post,否则他将被重定向到 /charts。在我的默认 LoginController.php 中,我试图做这样的事情:

$redirectAuth = Auth::user()->user_type = 'Worker' || Auth::user()->user_type = 'Auditor'
        ? '/post'
        : '/charts';

protected $redirectTo = $redirectAuth;

我收到这个错误:

syntax error, unexpected '$redirectAuth' (T_VARIABLE), expecting function (T_FUNCTION) or const (T_CONST)

我是不是输入有误?感谢您的回答。

编辑:

在@Karl Hill 的帮助下,我能够创建我的自定义登录:

public function redirectTo()
{
    $userType = auth()->user()->user_type;

    return $userType == 'Worker' || $userType == 'Auditor' ? '/charts' : 'brethren';
}

当然,这也行得通:

switch ($type) {
    case 'Worker':
    case 'Auditor':
        return '/charts';
    default:
        return '/post';
}

无论您的编码偏好是什么。

在 LoginController 中,删除以下行。

protected $redirectTo = '/home'; 

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

public function redirectTo()
{
    $type = auth()->user()->user_type();

    // Check user type
    switch ($type) {
        case 'Worker':
            return '/post';
        case 'Auditor':
            return '/charts';
        default:
            return '/login';
    }
}