我想在asp.net mvc中实现一个忘记密码的功能,让用户可以重置他们的密码,并且在这方面有一些问题:
假设在允许用户重置密码之前,我想要验证一些额外的信息,比如他们的名字和姓氏。这些信息默认情况下不会存储在由aspnet_regsql创建的表中。应该如何处理这种情况?是将这种信息存储在单独的表中,并使用表连接进行验证,还是修改由aspnet_regsql生成的表的架构(如何修改),以便不必使用连接?需要编写自定义提供程序吗,还是不需要?
我在某些地方阅读到过,例如在这个帖子中,与其发送临时密码电子邮件,另一种选择是发送一个URL,当用户单击该URL时,可以更改他们的密码。这是如何完成的?如何确保URL在1小时后过期?