Laravel 4 Auth::attempt using either email or username and password(Laravel 4 Auth::attempt 使用电子邮件或用户名和密码)
问题描述
在 laravel 中进行登录尝试我通常使用这样的东西:
In laravel for login attempt I generally use something like this:
if (Auth::attempt(array('email' => $usernameinput, 'password' => $password), true))
{
// The user is being remembered...
}
基本上 $usernameinput
将使用我表中的 email
进行检查.
Basically $usernameinput
will check with email
from my table.
我想用不同的方式来做,比如我的表中有 email
、username
和 password
.$usernameinput
可以是我表中的 email
或 username
字段.
I was thinking to do it in a different way, like there is email
, username
and password
in my table. $usernameinput
can be either email
or username
field in my table.
我怎样才能 Auth::attempt
条件如下:
How can I Auth::attempt
with a condition like:
(email==$usernameinput OR username==$usernameinput) AND password == $password
推荐答案
好吧,您可以简单地检查 $usernameinput
是否与电子邮件模式匹配,如果匹配,则使用 email
字段,否则使用 username
字段.这听起来很合理,因为,您的数据库中确实不应该有任何与该模式不匹配的电子邮件.像这样的:
Well, you could simply check if $usernameinput
matches an email pattern and if it does, use the email
field, else use the username
field. This sounds reasonable because, well, you really shouldn't have any e-mail in your database that doesn't match the pattern. Something like this:
$field = filter_var($usernameinput, FILTER_VALIDATE_EMAIL) ? 'email' : 'username';
if (Auth::attempt([$field => $usernameinput, 'password' => $password], true)) {
// ...
}
另一种选择是扩展 IlluminateAuthGuard
添加所需的功能并将其设置为 auth
组件,在一个新的服务提供者中.
The other option is to extend IlluminateAuthGuard
adding the wanted functionality and setting it as the auth
component, in a new service provider.
这篇关于Laravel 4 Auth::attempt 使用电子邮件或用户名和密码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Laravel 4 Auth::attempt 使用电子邮件或用户名和密码
基础教程推荐
- 超薄框架REST服务两次获得输出 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01