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中找到它 我搜索过,但解决方案是针对以前的版本,而

大家好,我正在使用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没有现成的帐户激活功能。