2010-05-06 79 views

回答

4

对当前国家的最先进的(如十月,2011年)一对夫妇点:

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

如果你确实要允许“恢复”,则:

1)当您在VS2010一个新的互联网项目,它创建:登录,注册,和ChangePassword页面为您服务。正如Hector所说,没有为您创建密码恢复。

2)然而,Asp.Net成员资格提供者确实支持它,所以你可以通过自己创建一个Model,Controller和View来设置enablePasswordRetrieval =“true”和passwordFormat =“Encryted”并调用Membership.GetUser ()。

如果不是密码“恢复”你真正想要的密码“复位”,那么有一对夫妇的方式来实现: 我)自助服务 - 用户可以在其中点击一个链接和电子邮件被发送到他们用一个链接来重置密码。

示例:

这一个我试过了。我喜欢它,因为它可以同时处理帐户确认和重置密码: - 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入门套件就是一个例子。有一个名为“用户管理”的菜单项可供管理员访问,并允许重置密码或生成随机密码并通过电子邮件发送给用户。它也让你管理角色。