在ASP.NET LogIn Control中使用电子邮件作为用户名

时间:2009-06-22 18:41:37

标签: asp.net login forms-authentication

我想在ASP.NET应用程序中使用常规登录系统,但我想使用用户的电子邮件地址作为其用户名(在许多网站中很常见。)但是,似乎没有属性或允许我做这样的事情的属性;用户名和电子邮件地址似乎总是分开的。 可以这样做还是需要一些复杂的定制? 感谢。

3 个答案:

答案 0 :(得分:7)

我假设你在谈论CreateUserWizard控件。

在设计器中,右键单击CreateUserWizard控件并选择“自定义创建用户步骤”。这将允许您删除电子邮件字段行。我还建议为用户名添加RegularExpressionValidator to validate the email format

要将用户名复制到电子邮件地址,请处理CreatingUser事件并在那里执行:

protected void CreateUserWizard1_CreatingUser( object sender, LoginCancelEventArgs e )
{
    CreateUserWizard1.Email = CreateUserWizard1.UserName;
}

答案 1 :(得分:6)

对多个网站做了同样的事情,最终只使用UserName EmailAddress字段的电子邮件地址,而不是尝试更改Membership API以使用UserName上的现有EmailAddress字段。

答案 2 :(得分:1)

您已为此编写自定义成员资格提供程序。为此,您已继承成员资格提供程序类,并需要创建自己的成员资格提供程序。

以下是一些很好的链接..

http://www.15seconds.com/issue/050216.htm

以下是良好讨论的链接。

http://forums.asp.net/t/1146571.aspx