我正在尝试设置一个规则,如果用户是Worker
或Auditor
并登录,他将被重定向到/post
,否则他将被重定向到{{1} }。在默认的/charts
中,我尝试执行以下操作:
LoginController.php
我收到此错误:
语法错误,意外的“ $ redirectAuth”(T_VARIABLE),预期 函数(T_FUNCTION)或const(T_CONST)
我在这里输入错误吗?感谢您的答复。
编辑:
在@Karl Hill的帮助下,我能够创建自己的自定义登录名:
$redirectAuth = Auth::user()->user_type = 'Worker' || Auth::user()->user_type = 'Auditor'
? '/post'
: '/charts';
protected $redirectTo = $redirectAuth;
但是,当然,这也可以工作:
public function redirectTo()
{
$userType = auth()->user()->user_type;
return $userType == 'Worker' || $userType == 'Auditor' ? '/charts' : 'brethren';
}
无论您的编码偏好是什么。
答案 0 :(得分:2)
在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';
}
}