Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当我试图使用来自Symfony的ResetPasswordBundle重新设置密码时,我出错了

当我试图使用来自Symfony的ResetPasswordBundle重新设置密码时,我出错了
EN

Stack Overflow用户
提问于 2022-05-25 06:30:40
回答 2查看 385关注 0票数 0

我有一个例外,当我试图重置密码在我的应用程序。我使用Symfony 4.4并安装了"symfonycasts/reset-password-bundle":"^1.13",接下来是控制器:

代码语言:javascript
运行
AI代码解释
复制
class ResetPasswordController extends AbstractController {
    use ResetPasswordControllerTrait;
    private $resetPasswordHelper;
    private $entityManager;
    public function __construct(ResetPasswordHelperInterface $resetPasswordHelper, EntityManagerInterface $entityManager)
    {
        $this->resetPasswordHelper = $resetPasswordHelper;
        $this->entityManager = $entityManager;
    }

    /**
     * Display & process form to request a password reset.
     *
     * @Route("", name="app_forgot_password_request")
     */
    public function request(Request $request, MailerInterface $mailer, TranslatorInterface $translator): Response
    {
        $form = $this->createForm(ResetPasswordRequestFormType::class);
        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {
            return $this->processSendingPasswordResetEmail(
                $form->get('email')->getData(),
                $mailer,
                $translator
            );
        }
        return $this->render('reset_password/request.html.twig', [
            'requestForm' => $form->createView(),
        ]);
    }

    private function processSendingPasswordResetEmail(string $emailFormData, MailerInterface $mailer, TranslatorInterface $translator): RedirectResponse
    {
        $user = $this->entityManager->getRepository(User::class)->findOneBy([
            'email' => $emailFormData,
        ]);
        // Do not reveal whether a user account was found or not.
        if (!$user) {
            return $this->redirectToRoute('app_check_email');
        }
        try {
            $resetToken = $this->resetPasswordHelper->generateResetToken($user);
        } catch (ResetPasswordExceptionInterface $e) {
            return new Response(json_encode(['message' => $e->getMessage()]), 500, ['Content-Type' => 'application/json']);
            // If you want to tell the user why a reset email was not sent, uncomment
            // the lines below and change the redirect to 'app_forgot_password_request'.
            // Caution: This may reveal if a user is registered or not.
            //
            // $this->addFlash('reset_password_error', sprintf(
            //     '%s - %s',
            //     $translator->trans(ResetPasswordExceptionInterface::MESSAGE_PROBLEM_HANDLE, [], 'ResetPasswordBundle'),
            //     $translator->trans($e->getReason(), [], 'ResetPasswordBundle')
            // ));

            return $this->redirectToRoute('app_check_email');
        }

        $email = (new TemplatedEmail())
            ->from(new Address('rgutierrez@greicodex.com', 'Yoke Integration Suite'))
            ->to($user->getEmail())
            ->subject('Your password reset request')
            ->htmlTemplate('reset_password/email.html.twig')
            ->context([
                'resetToken' => $resetToken,
            ])
        ;

        $mailer->send($email);

        // Store the token object in session for retrieval in check-email route.
        $this->setTokenObjectInSession($resetToken);

        return $this->redirectToRoute('app_check_email');
    }
}

我从app调用了请求函数,当在行$this->resetPasswordHelper->generateResetToken($user);"中执行processSendingPasswordResetEmail函数时发生了问题“$resetToken=$resetToken,该函数未被执行,并返回以下异常:

代码语言:javascript
运行
AI代码解释
复制
An exception occurred while executing a query: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'expires_at' in 'where clause'

我按照安装指南在下一页添加了重置密码功能:

代码语言:javascript
运行
AI代码解释
复制
https://symfony.com/doc/4.4/security/reset_password.html
https://github.com/symfonycasts/reset-password-bundle

我没有添加任何函数,实际上一切都是由指南创建的,我不知道为什么会出现错误,请有人帮我解决这个问题。

EN

回答 2

Stack Overflow用户

发布于 2022-05-25 07:36:54

如果执行php bin/console doc:sch:update --dump-sql,是否有SQL更新?

致以敬意,

票数 0
EN

Stack Overflow用户

发布于 2022-06-08 00:39:56

您能通过依赖项注入将ResetPasswordHelperInterface $resetPasswordHelper, EntityManagerInterface $entityManager直接放入processSendingPasswordResetEmail函数并删除构造函数吗?您也可以删除变量声明。

这将解决这个问题。

问候

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72379548

复制
相关文章
python 列表有没有顺序_python的list顺序详解
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。
IT工作者
2022/08/04
1.3K0
LeetCode-1367-二叉树中的列表
如果在二叉树中,存在一条一直向下的路径,且每个点的数值恰好一一对应以 head 为首的链表中每个节点的值,那么请你返回 True ,否则返回 False 。
benym
2022/07/14
1940
[数据结构]二叉树的顺序存储结构
普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结 构存储。现实中我们通常把堆 ( 一种二叉树 ) 使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统 虚拟进程地址空间中的堆是两回事,一个是数据结构,一个是操作系统中管理内存的一块区域分段。
IT编程爱好者
2023/04/12
4180
[数据结构]二叉树的顺序存储结构
Solidity 优化 - 如何维护排序列表
本文我们探索和讨论在以太坊独特的 EVM 成本模型下编写高效的 Solidity 代码的数据结构和实现技术。读者应该已经对 Solidity 中的编码以及 EVM 的总体工作方式所有了解。
Tiny熊
2020/11/03
1.4K0
Solidity 优化 - 如何维护排序列表
数组实现顺序存储二叉树
顺序存储二叉树 顺序存储二叉树只考虑完全二叉树 第 n 个元素的左子节点为 2 * n +1 第 n 个元素的右子节点为 2 * n +2 第 n 个元素的父子节点为 (n-1)/2 n 表示二叉树中第几个元素 代码实现 package xmht.datastructuresandalgorithms.datastructure.tree; /** * @author shengjk1 * @date 2020/5/30 */ public class ArrBinaryTreeDemo { p
shengjk1
2020/05/31
8490
python中的列表
列表是由一系列特定顺序排列的元素组成。你可以创建包含字母表中所有字母,数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。鉴于列表通常包含多个元素,给列表指定一个表示复数的名称(如letters、digits或names)是个不错的主意。
狼啸风云
2019/01/28
5.7K0
Python中的列表
列表 是一种用于保存一系列有序项目的集合,也就是说,你可以利用列表保存一串项目的序 列。想象起来也不难,你可以想象你有一张购物清单,上面列出了需要购买的商品,除开在 购物清单上你可能为每件物品都单独列一行,在 Python 中你需要在它们之间多加上一个逗 号。
benym
2022/07/14
5.1K0
Python中的列表
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 1.列表 数组:存储同一种数据类型的集合 scores = [12,23,45] 列表(打了激素的数组):可以存储任意数据类型
py3study
2020/01/10
5.3K0
css中padding中样式的顺序含义
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116576.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/07
1.2K0
翻转句子中单词的顺序
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 例如输入“I am a student.”,则输出“student. a am I”。 由于本题需要翻转句子,我们先颠倒句子中的所有字符。这时,不但翻转了句子中单词的顺序,而且单词内字符也被翻转了。我们再颠倒每个单词内的字符。由于单词内的字符被翻转两次,因此顺序仍然和输入时的顺序保持一致。 还是以上面的输入为例子。翻转“I am a student.”中所有字符得到“.tn
猿人谷
2018/01/17
1.7K0
Python中的顺序表介绍
在 Python 中,列表是一种基本的数据类型,列表的数据组成了一个序列,序列里的数据是有序的(索引),可以快速地找到指定的数据。
Python碎片公众号
2021/02/26
1.4K0
Python中的顺序表介绍
Windows 窗体中的事件顺序
对于依次处理其中每个事件的开发人员,Windows 窗体应用程序中引发事件的顺序非常具有吸引力。 当出现需要谨慎处理事件的情况时(例如,在重绘窗体的某些部件时),有必要了解运行时引发事件的确切顺序。 本主题提供了应用程序和控件的生存期中几个重要阶段中的事件顺序的详细信息。 有关鼠标输入事件的顺序的特定详细信息,请参阅Windows 窗体中的鼠标事件。Windows 窗体中的事件的概述,请参阅事件概述。 有关事件处理程序的构成的详细信息,请参阅事件处理程序概述。
CNXY
2019/05/24
1.3K0
[剑指offer] 按之字形顺序打印二叉树
请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
尾尾部落
2018/09/04
3930
按之字形顺序打印二叉树
请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
MickyInvQ
2021/12/07
4570
按之字形顺序打印二叉树
两个栈来实现; 定义一个放奇数层得栈,一个方偶数层得栈,和一个层奇偶标志, 遍历两个栈,每次消灭一个栈中得数据,添加在list中添加一层得数据 需要注意得是结合栈得先进后出性质,当我们遍历到奇数层时候,我们要从左到右得添加数据到栈二.同理偶数相反.
名字是乱打的
2022/12/13
2820
python中列表排序,字典排序,列表中的字典排序
key= lambda dict1:dict1[0] #dict1[0]表示按键,dict1[1]表示按值。
用户8346838
2021/03/10
9.3K0
一日一学:返回排序好的列表的索引顺序
今天介绍的是对列表排序后,返回排序好的索引顺序。 问题描述:给定一个列表 [2, 3, 1, 4, 5] ,怎么返回排序后的索引顺序,即 [2,0,1,3,4] ? 解决方法: 方案1: 利用 so
kbsc13
2020/02/26
1.1K0
Python中列表的操作
注意事项:列表中所有的增删改操作都是直接改原内存地址,并不需要通过重新赋值;元组属于特殊的列表(只读列表),除了增删改操作,其他列表支持的操作元组都支持。
py3study
2020/01/17
3.5K0
访问列表中的值
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000] list2 = [1, 2, 3, 4, 5, 6, 7 ] print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]
用户8442333
2021/05/27
5.8K0
Python中的列表(1)
  所以说访问列表的元素,可以在列表名后加方括号,方括号内输入索引,即可访问对应索引的元素。(ps:索引从0开始)
py3study
2020/01/16
3.4K0

相似问题

这类代码容易出现SQL注入吗?

035

逻辑应用程序SQL注入可能吗?

213

使用contains时可能的SQL注入吗?

13

这里有可能阻止叉子故障吗?

10

可能的sql注入

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文