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