php - 如何使用 Laravel 5 检查用户是否已确认

标签 php authentication laravel

我正在尝试使用开箱即用的 Laravel 身份验证。身份验证不是问题,但我想检查用户是否确认了他的电子邮件地址。

我如何让 Laravel 检查表值 confirmed 的值为 1。

在 config/auth.php 中,我设置了 'driver' => 'database' 因此,如果我正确理解文档,我就可以进行手动身份验证,我想我可以检查用户是否已确认他的帐户。

Laravel 在哪里执行匹配的用户名和密码检查?

最佳答案

如果您正在使用 Laravel Auth 开箱即用,您需要查看 AuthController已经为您设置好了。

你会看到这使用了一个特征 AuthenticatesAndRegistersUsers向 Controller 添加行为。

在该特征中,您将找到方法 postLogin .

您需要通过将您自己的 postLogin 添加到 AuthController 来覆盖此方法。您可以复制并粘贴初学者的方法。

现在去看看 Laravel docs on authentication 。向下滚动到“根据条件对用户进行身份验证”的位置。

if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1]))
{
    // The user is active, not suspended, and exists.
}

更改 postLogin 方法中的 attempt() 代码以包含该条件,如示例中所示。在您的情况下,您可能希望传递 'confirmed' => 1 条件而不是事件条件,具体取决于您在用户表中对该字段的称呼。

这应该能让你继续前进!

关于php - 如何使用 Laravel 5 检查用户是否已确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28992533/

相关文章:

php - 运行一个没有点击功能的jquery

php - 简单的PHP MySQL问题: what login should I use?

php - 在 Laravel 5 中找不到类 'App\Http\Controllers\admin\Auth'

php - 如何在 Laravel 迁移中安全地将不可为空的列添加到现有表中?

php - 链接到 CSS 样式表

PHP父函数无法看到子类成员

php - sudo pecl 在 os x lion 上安装 apc 错误

google-chrome - 浏览器不显示登录提示

java - 无法将 HTTP Post 请求发送到登录表单?

php - 选择所有最新关系为真的地方?