【问题标题】:laravel password reset using phonelaravel 使用手机重设密码
【发布时间】:2018-01-01 18:51:04
【问题描述】:

我正在使用 Laravel 5.4.17 我将登录字段从 email 更改为 phone

但在密码重置中,当用户更改密码时,(电子邮件 - 新密码 - 密码确认)浏览器会要求保存新密码,电子邮件将作为密码保存在输入中

我不想将重置密码表单电子邮件更改为另一个。但我的问题是发送电子邮件后,当用户更改密码时(第一个字段是电子邮件,我希望浏览器不要将其保存为用户名)

【问题讨论】:

  • 试过自己做吗..?如果是,请发布代码..
  • @Zaheer Attar 。我没有使用 laravel 默认的身份验证系统,现在一切都是默认的,我只是将登录从电子邮件更改为电话

标签: php laravel laravel-5 laravel-5.4


【解决方案1】:

在 5.4 中你需要重写以下函数

public function username()

查看:vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php

默认是回邮件:

public function username()

{
        return 'email';
}

在你的数据库中添加字段后,你可以在你的控制器中覆盖如下

public function username()
{
        return 'phone';
}

在用户表名称 phone 中再添加 1 列 希望它工作正常

【讨论】:

  • 我想你不明白我的意思。我以前做过...我将电子邮件更改为电话。我在数据库中有电话,用户可以以电话登录。我的问题只是密码重置。当密码将更改时,浏览器将要求保存新密码,电子邮件将保存在用户名输入(在浏览器中)只是浏览器
  • 我对 cookie 不太了解,但你的解决方案是 laravel cookie,它可以更好地处理你的浏览器 cookie
【解决方案2】:

在您的User 模型上使用username() 方法返回标识符列名...

public function username()
{
    return 'phone';
}

https://laravel.com/docs/5.4/authentication#authentication-quickstart

【讨论】:

  • 没有。它不工作。问题来自浏览器。当用户插入他的电子邮件和他的新密码时,电子邮件将作为用户名保存在浏览器自动完成中
猜你喜欢
  • 2019-07-25
  • 1970-01-01
  • 1970-01-01
  • 2011-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-05
  • 1970-01-01
相关资源
最近更新 更多