laravel 5.2处于活动状态的用户登录
大家好,我正在使用laravel 5.2默认身份验证,但我希望用户只能以活动状态登录 在这个链接中,他们给出了如下方法laravel 5.2处于活动状态的用户登录,laravel,laravel-5.2,laravel-authorization,Laravel,Laravel 5.2,Laravel Authorization,大家好,我正在使用laravel 5.2默认身份验证,但我希望用户只能以活动状态登录 在这个链接中,他们给出了如下方法 if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1])) { // The user is active, not suspended, and exists. } 但我没有在laravel 5.2中找到它 我搜索过,但解决方案是针对以前的版本,而
if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1])) {
// The user is active, not suspended, and exists.
}
但我没有在laravel 5.2中找到它
我搜索过,但解决方案是针对以前的版本,而不是针对5.2
因此,请帮助我登录仅处于活动状态的用户,以便为我提供laravel 5.2,而不是5.1或以前版本的内置或自定义解决方案,以解决此问题。该示例仅显示您在尝试登录时可以添加自定义字段 您需要向用户表中添加一个额外的字段,如isActive 完成此操作后,可以检查用户是否在应用程序中处于活动状态
if($user->isActive) {
// do something
}
假设您使用的是默认的身份验证设置,您可以覆盖
AuthController
上的getCredentials
方法,该方法来自AuthenticatesUsers
特性
protected function getCredentials(Illuminate\Http\Request $request)
{
return $request->only($this->loginUsername(), 'password') + ['active' => 1];
}
该方法返回传递给
AuthController
的login
方法中的Auth::trunt
的凭据数组。正如其他人所提到的,您需要在用户
表上有一个活动
字段。它仍然像5.2一样工作,您尝试过吗?他们将其添加到文档中,以显示您可以验证用户表上的其他字段。他们以active
字段为例,Laravel没有现成的帐户激活功能。