簡體   English   中英

定制的重定向登錄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;

我收到此錯誤:

語法錯誤,意外的'$ redirectAuth'(T_VARIABLE),預期函數(T_FUNCTION)或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'; 

然后將新方法redirectTo()添加到LoginController。 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';
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM