laravel-5.4 - 在 Laravel 5.4 中使用 Auth 使用 or 条件登录
问题描述
我有 2 个字段的登录表单。第一个可以同时使用电子邮件或手机,第二个是密码。
如何使用 auth 进行检查?
我的代码片段是:-
if ( Auth::check([
'email' => $request->email,
'mobile' => $request->email,
'password' => $request->password,
false,
false
]))
{
$user = Auth::user();
return $user;
}
但是这个东西是把键和操作符结合起来。我怎样才能实现电子邮件或手机和密码。
解决方案
Auth::check()
在检测提供的登录格式(电子邮件或手机)
之前添加条件。首先,将字段名称更改为登录。下一个:
$credentials = [];
if (filter_var($request->login, FILTER_VALIDATE_EMAIL)) {
$credentials['email'] = $request->login;
} else {
$credentials['mobile'] = $request->login;
}
if ( Auth::attempt($credentials)) {
$user = Auth::user();
return $user;
}
并记住使用Auth::attempt()
而不是Auth::check()
检查用户是否已登录。
推荐阅读
- c - 如何将十个字节转换为浮点数
- dart - 更改图像的 z 顺序
- html - 在 flexbox li 元素中底部对齐图像
- python-3.x - 如何在 Pandas 中重塑数据框?
- python - 使用 Python 在 Selenium 中查找元素的问题
- angular - 在角度方面,为什么我必须为不同的自定义模块分别导入 Material-modules?
- bash - 如果怎么办
; [ 美元?= 4]; 那么<...>呢? - javascript - 如果我使用单独的 html/css 页面,如何创建模态弹出效果?
- sql-server - SQL查询在一列中以日期时间格式列出一天中的所有时间
- database - 在选择期间更改 Hive 表属性