php - Laravel 5.2 有条件登录
问题描述
所以,我有 laravel 默认的 users 表。但我添加了一个名为“状态”的新列。
所以 users 表上的列是 id、name、email、password、remember_token、created_at、updated_at、status
状态值介于 0 和 1 之间。1 表示管理员,0 表示普通用户。
我也有身份验证,但问题是如何在登录时检查用户的状态是 0 还是 1,以便我可以根据他们的状态重定向它?-- 管理员将进入管理面板,用户将返回主页
laravel 用户默认添加“状态”
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',
];
}
HomeController 也是 laravel 的默认设置
use Illuminate\Http\Request;
class HomeController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function index()
{
return view('home');
}
}
LoginController 也是 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');
}
}
谢谢。
解决方案
如果它都是默认的 laravel 身份验证,那么你应该能够做到
( Auth::user()->status === 0 ) ? 'do something' : 'do something else';
推荐阅读
- json - 在颤振中从飞镖对象创建一个空的json对象
- c# - WPF - 如何在不同的窗口中重用按钮事件处理程序
- batch-file - 为什么我的变量没有在我的批处理文件中减去?
- arrays - Haxe 获取数组最后一个元素
- javascript - 默认情况下突出显示滚动条 - vue js vue-custom-scrollbar
- javascript - 检查值是否相同(不区分大小写)
- javascript - Common Lisp——如何做一个高度交互的单页网页应用?
- c - 我应该如何在 waitpid(pid_t pid, int *status, int options) 中使用 *status?
- json - Angular 无法解析来自 api 调用的字符串(网络核心 3)
- python-3.x - Python 中的实时日志记录