使用过期日期登录

问题描述 投票:0回答:1

我的

User
模型中有一个过期日期,我想在登录时检查。我在凭据方法中写了关于活动用户的信息,如下所示:

protected function credentials(Request $request) {
          return array_merge(
             $request->only($this->username(), 'password'),
             ['status' => 1]
          );
}

但是,它只添加相等条件,但我想在这个方法中添加

>= date('Y-m-d')

php laravel authentication credentials
1个回答
1
投票

如 laravel 文档中所述,我们可以向

Auth::attempt
添加自定义条件,但仅限于相等性检查。 在这种情况下,唯一的选择是重写
login
中的
LoginController
方法(方法在
AuthenticatesUsers
特征中定义)并在发送登录响应之前添加自定义检查。

// for check expire date
$user = (new User())->where('email', $request->email)->get();
if ($user[0]->expire_date < date('Y-m-d')) {
   return $this->sendFailedLoginResponse($request);
}
© www.soinside.com 2019 - 2024. All rights reserved.