在 laravel 5.2 中重定向状态为 1 和 3 的活动用户
Redirect an active user with status 1 and 3 in laravel 5.2
在我的 Laravel 5.2 项目中,我有 user table,它的状态字段有 3 个值。值是,0=不活跃,1=活跃,2=付费。登录后,我想检查用户的状态是 1 还是 3。如果他们属于状态 1 或 3,那么我需要重定向到仪表板。别的什么都没有。下面是我在 AuthController 中的 getcredential 方法。
protected function getCredentials($request) {
return $request->only($this->loginUsername(), 'password') + ['status' => 1];
}
如何在此处查看两种状态。
提前致谢。
凭据的值不需要是静态值,您还可以提供一个 Closure
,它将由用户提供者在用于检查凭据的查询中执行。
以下应该可以解决问题:
protected function getCredentials($request) {
return $request->only($this->loginUsername(), 'password') + ['status' => function($query) {
$query->whereIn('status', [1, 3]);
}];
}
我找到了解决这个问题的方法。我保留了 getCredential 方法。
protected function getCredentials($request) {
return $request->only($this->loginUsername(), 'password') +
['status' => 1];
}
并且我在AuthController的登录函数中写了如下代码
if($user->status == 3){
if(Auth::attempt(['email' => $request['email'], 'password' => $request['password'], 'status' => 3,]))
{
$fallback_url = '/dashboard';
$intended_url =
Redirect::intended($fallback_url)->getTargetUrl();
return response()->json(['auth' => true, 'intended' => $intended_url]);
}
}
现在 status = 1 和 status =3 的用户可以登录仪表板。
在我的 Laravel 5.2 项目中,我有 user table,它的状态字段有 3 个值。值是,0=不活跃,1=活跃,2=付费。登录后,我想检查用户的状态是 1 还是 3。如果他们属于状态 1 或 3,那么我需要重定向到仪表板。别的什么都没有。下面是我在 AuthController 中的 getcredential 方法。
protected function getCredentials($request) {
return $request->only($this->loginUsername(), 'password') + ['status' => 1];
}
如何在此处查看两种状态。 提前致谢。
凭据的值不需要是静态值,您还可以提供一个 Closure
,它将由用户提供者在用于检查凭据的查询中执行。
以下应该可以解决问题:
protected function getCredentials($request) {
return $request->only($this->loginUsername(), 'password') + ['status' => function($query) {
$query->whereIn('status', [1, 3]);
}];
}
我找到了解决这个问题的方法。我保留了 getCredential 方法。
protected function getCredentials($request) {
return $request->only($this->loginUsername(), 'password') +
['status' => 1];
}
并且我在AuthController的登录函数中写了如下代码
if($user->status == 3){
if(Auth::attempt(['email' => $request['email'], 'password' => $request['password'], 'status' => 3,]))
{
$fallback_url = '/dashboard';
$intended_url =
Redirect::intended($fallback_url)->getTargetUrl();
return response()->json(['auth' => true, 'intended' => $intended_url]);
}
}
现在 status = 1 和 status =3 的用户可以登录仪表板。