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.
}