【发布时间】:2011-12-02 08:39:50
【问题描述】:
问:每个 mvc3/asp.net 成员资格提供/对象是否有一种机制,如果用户忘记了他/她的用户名,是否有办法重置它或找出它是什么并以编程方式将其发送回用户或让他们重新注册的链接?
【问题讨论】:
标签: asp.net asp.net-mvc-3 asp.net-membership
问:每个 mvc3/asp.net 成员资格提供/对象是否有一种机制,如果用户忘记了他/她的用户名,是否有办法重置它或找出它是什么并以编程方式将其发送回用户或让他们重新注册的链接?
【问题讨论】:
标签: asp.net asp.net-mvc-3 asp.net-membership
如果您在 ASP.NET MVC 项目中使用 Membership 提供程序,您可以轻松实现密码恢复视图/控制器/模型。我的博客上有一个这样的例子:
http://hectorcorrea.com/Blog/Password-Recovery-in-an-ASP.NET-MVC-Project
【讨论】:
看看这个网站。它非常深入,应该让你走上正确的轨道。它以编程方式完成。
http://www.asp.net/security/tutorials/recovering-and-changing-passwords-cs
如果您希望使用更少的代码隐藏来完成此操作,您最终将使用作为成员资格系统一部分的PasswordRecovery 控件。您可以在http://msdn.microsoft.com/en-us/library/ms178335(v=vs.80).aspx找到一些详细信息
如果您以正常方式设置成员资格,则可以使用默认控件。上面链接中的示例。
<asp:PasswordRecovery ID="PasswordRecovery1" Runat="server">
</asp:PasswordRecovery>
您可能需要授予对具有此控件的表单的匿名访问权限。在 web.config 中执行此操作。
<configuration>
<location path="RecoverPassword.aspx">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
<system.web>
<authentication mode="Forms" >
<forms loginUrl="UserLogin.aspx" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>
如果您需要任何帮助才能到达正确的地方,尽管问。
【讨论】: