【发布时间】:2017-05-10 04:29:28
【问题描述】:
我被困在我的项目中。我希望用户可以使用电子邮件或手机号码登录。这工作得很好。但现在我希望只有活动用户才能使用电子邮件或手机号码登录。我的数据库中有一个活动字段,如果用户处于活动状态或用户处于非活动状态,则设置为 1。但不知道如何执行此操作。请大家帮我解决这个问题。我正在使用 laravel 5.3。
我的LoginController 代码是
<?php
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
class LoginController extends Controller
{
use AuthenticatesUsers;
protected $redirectTo = '/home';
public function __construct()
{
$this->middleware('guest', ['except' => 'logout']);
}
protected $username = 'email';
public function loginNameOrEmail(Request $request)
{
$field = filter_var($request->input('email'), FILTER_VALIDATE_EMAIL) ? 'email' : 'mobile';
$request->merge([$field => $request->input('email')]);
$this->username = $field;
return $this->login($request);
}
public function username()
{
return $this->username;
}
protected function authenticated($request, $user)
{
if($user->is_admin == 1) {
return redirect()->intended('dashboard');
}
return redirect()->intended('/home');
}
}
【问题讨论】:
标签: php mysql laravel authentication laravel-5.3