重设密码之后默认进入了登录页面?但改邮箱是没有通过邮箱激活的。

通过重设密码,可以绕过邮箱激活这个步骤即可登录。

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 3

实际上在邮箱中点击重置密码已经达到了验证邮箱的效果了 我觉得应该在修改密码后或者点击重置密码后直接把用户状态设置为已激活

5年前 评论

确实如此,在默认的 trait ResetsPasswords 中调用 resetPassword 方法的时候会执行一次登录的操作,而这个登录没用调用 SessionsControllerstore 方法,不会对用户的激活状态进行验证。

protected function resetPassword($user, $password)
{
    ...
    $this->guard()->login($user);
}

但此时用户的激活状态并没有改变,在下次调用 SessionsController 中的 store 方法的时候仍会判断用户的激活状态,那么只要不调用这个登录的方法,问题可解。

5年前 评论

实际上在邮箱中点击重置密码已经达到了验证邮箱的效果了 我觉得应该在修改密码后或者点击重置密码后直接把用户状态设置为已激活

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!