Laravel 5.2有条件登录 [英] Laravel 5.2 Login With Condition
问题描述
因此,我有laravel默认的用户表.但是我添加了一个名为状态"的新列.
因此,用户表上的列是ID,名称,电子邮件,密码,记住令牌,created_at,updated_at,状态
状态值在0到1之间.对于admin来说是1,对于常规用户来说是0.
我也有身份验证,但问题是如何在登录时检查用户的状态是0还是1,以便可以根据其状态重定向它? -管理员将转到管理面板,而用户将返回首页
So, I have users table which is default by laravel. But I add a new column named 'status'.
So the columns on the users table are id, name, email, password, remember_token, created_at, updated_at, status
The status values are between 0 and 1. 1 for admin, and 0 for regular user.
Also I have auth, but the problem is how can I check if users' status is 0 or 1 when login so that I can redirect it according to their status? -- admin will go to admin panel and user will go to home
laravel为用户默认添加了状态"
User default by laravel with addition 'status'
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
protected $fillable = [
'name', 'email', 'password', 'status',
];
protected $hidden = [
'password', 'remember_token',
];
}
laravel也默认设置HomeController
HomeController also default by laravel
use Illuminate\Http\Request;
class HomeController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function index()
{
return view('home');
}
}
laravel也默认使用LoginController
LoginController also default by laravel
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');
}
}
谢谢.
推荐答案
在验证用户身份之后,您可以覆盖App\Http\Controllers\Auth\LoginController
中的authenticated()
方法以添加逻辑:
You can override the authenticated()
method in App\Http\Controllers\Auth\LoginController
to add logic after the user is authenticated:
protected function authenticated($request,$user)
{
if(\Auth::user()->status){
return redirect('/admin');
}
return redirect('/home');
}
这篇关于Laravel 5.2有条件登录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!