我的PHP应用程序中有一个要求-允许用户重置他们的密码。这一过程如下:
这似乎是目前的最佳做法。
我的问题是如何使用MVC实现这一点。我有一个前端控制器,它吸收来自GET和POST请求的数据,并通过路由器类将数据传递到相关的视图模型和视图。
使用这个模型,我有一个重置-密码视图-模型和视图,照顾用户的电子邮件输入和电子邮件到地址的链接令牌-所有这里都很好。
我也有一个视图模型和视图供用户输入他们的新密码。就在这里我有麻烦了。这将验证传入令牌和时间限制--这是有效的。然后,如果令牌和时间限制是有效的,它将向用户提供设置密码视图,需要对其进行验证。我还没有想出一个使用设置密码视图模型和视图的解决方案,它允许我显示set密码视图和验证,向用户说明密码无效的原因(密码字段中的任何一个是空的,或者密码不匹配)。
我希望我对我的问题已经很清楚了。有人能为我的问题提出一个解决这个过程的最佳实践方案吗?我认为我在过程的第二部分做的太多了--分解工作,引入一个新的视图模型(用户看不到),在传递到设置密码部分之前负责令牌和时间验证,这是我正在考虑的解决方案之一,但它感觉是错误的。它没有我不正确的解决办法(少是好)的无道德吸引力。
发布于 2014-02-05 07:24:22
@_teresko -谢谢。我的问题在于我对MVC的错误理解和实现。我已经阅读了更多,特别是here。你的评论迫使我重新审视我的申请过程,我发现了这个问题。一个薄控制器有时不是最好的解决方案。
https://stackoverflow.com/questions/21546075
复制相似问题