【问题标题】:asp.net 3.5 password recovery control in an mvc app?mvc 应用程序中的 asp.net 3.5 密码恢复控制?
【发布时间】:2011-02-16 11:28:39
【问题描述】:

我可以在 MVC 应用程序中使用 asp.net 3.5 Password Recovery 控件吗?

我们需要为我们的 MVC 应用程序提供密码检索功能,我想使用仅适用于 Web 表单应用程序的密码恢复控件。

【问题讨论】:

    标签: asp.net asp.net-mvc forgot-password


    【解决方案1】:

    Webforms 中的许多服务器控件无法按设计在 MVC 上运行。查看MvcMembership starter kit

    【讨论】:

    • 这实际上不是一个有用的答案!
    【解决方案2】:

    与登录和注销不同,密码恢复功能并未在全新的 ASP.NET MVC 项目中实现,但是,将此功能添加到 ASP.NET MVC 项目实际上非常容易,因为 Membership 类已经具有核心内置功能。

    我已经在我的博客中发布了关于我是如何做到的解释:

    http://www.hectorcorrea.com/blog/Password-Recovery-in-an-ASP.NET-MVC-Project.aspx

    【讨论】:

    • 赫克托博客不包含代码seand并生成临时url或密码。
    【解决方案3】:

    关于当前最先进技术的几点说明(截至 2011 年 10 月):

    第一个:很有可能您实际上并不想要“恢复”密码,因为它被认为是一种安全风险,您必须关闭单向密码加密才能实现它。相反,大多数人实施密码“重置”。

    如果你真的想允许“恢复”,那么:

    1) 当您在 VS2010 中创建一个新的 Internet 项目时,它会为您创建:LogOn、Register 和 ChangePassword 页面。正如 Hector 所说,没有为您创建密码恢复。

    2) 但是,Asp.Net Membership 提供程序确实支持它,因此您可以通过自己创建模型、控制器和视图来添加它,设置 enablePasswordRetrieval="true" 和 passwordFormat="Encryted" 并调用 Membership.GetUser( )。

    如果您实际上想要密码“重置”而不是密码“恢复”,那么有几种方法可以实现它: i) 自助服务 - 用户可以单击链接,然后向他们发送一封电子邮件,其中包含重置密码的链接。

    例子:

    这个我试过了。我喜欢它,因为它同时处理帐户确认和密码重置: -- http://nuget.org/List/Packages/SimpleMembership.Mvc3

    这些我都没有尝试过:

    -- http://hectorcorrea.com/Blog/Password-Recovery-in-an-ASP.NET-MVC-Project

    -- http://stevenalexander.posterous.com/expiring-password-reset-token-in-mvc-with-wf

    -- http://forrst.com/posts/ASP_NET_MVC_3_C_Password_Reset-gFA

    ii) 管理员管理 - 您联系管理员,然后管理员会为您重置密码。 Gthompson83 上面提到的 TroyGoode 的 MvcMembership Starter Kit 就是一个例子。有一个名为“用户管理”的菜单项可供管理员访问,并允许重置密码或生成随机密码并通过电子邮件发送给用户。它还可以让您管理角色。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-10
      • 2018-11-21
      • 1970-01-01
      相关资源
      最近更新 更多