Php 如何更改Laravel中的登录要求?

Php 如何更改Laravel中的登录要求?,php,laravel-5.3,Php,Laravel 5.3,我通过php artisan make:auth进行了我的laravel应用程序身份验证,默认情况下需要您使用电子邮件和密码登录 我需要在我的表用户上包含另一个要求,其中status==active。因此,用户要登录到以下三个条件: 拥有有效的电子邮件 拥有有效的密码 该特定用途的用户表上的状态为激活状态(手动激活) 因此,在我的登录控制器上,我有: <?php namespace App\Http\Controllers\Auth; use DB; use App\Http\Contro

我通过
php artisan make:auth进行了我的laravel应用程序身份验证,默认情况下需要您使用电子邮件和密码登录

我需要在我的表用户上包含另一个要求,其中
status==active
。因此,用户要登录到以下三个条件:

  • 拥有有效的
    电子邮件
  • 拥有有效的
    密码
  • 该特定用途的用户表上的状态为激活状态(手动激活)
  • 因此,在我的登录控制器上,我有:

    <?php
    namespace App\Http\Controllers\Auth;
    use DB;
    use App\Http\Controllers\Controller;
    use Illuminate\Foundation\Auth\AuthenticatesUsers;
    use Illuminate\Support\Facades\Auth;
    
    class LoginController extends Controller
    {
        use AuthenticatesUsers;
    
        /**
         * Where to redirect users after login.
         *
         * @var string
         */
        // protected $redirectTo = '/home';
    
        /**
         * Create a new controller instance.
         *
         * @return void
         */
        public function __construct()
        {
            $this->middleware('guest', ['except' => 'logout']);
        }
    
        public function authenticate()
        {
            if (Auth::attempt(['email' => $email, 'password' => $password])) 
    
    
            {
                // Authentication passed...
                return redirect()->intended('/home');
            }
        }
    }
    
    请有人帮忙


    谢谢。

    除了用户的电子邮件和密码之外,还要向身份验证查询添加额外条件。例如,我们可以验证用户是否标记为“活动”:


    谢谢,这就是我所需要的@Amit如何确保调用自定义身份验证函数?是通过路线吗?我不明白你的问题。
      DB::table('users')
        ->where(['status' => active]); For that particular user?
    
    if (Auth::attempt(['email' => $email, 'password' => $password, 'status' => 'active'])) {
        // The user is active, not suspended, and exists.
    }