2011-03-04 41 views
1

probabaly一个愚蠢的问题,但是当使用.net成员创建用户时,我可以排除用户名,只需将电子邮件作为“用户名”这样?.net创建没有用户名的会员

Membership.CreateUser(model.UserName, model.Password, model.Email, .... 

或留空...

Membership.CreateUser("", model.Password, model.Email, ...... 

欢呼

回答

3

如果你想要的电子邮件作为用户名,为什么不:

Membership.CreateUser(model.Email, model.Password, model.Email, .... 

我不知道如果空字符串的用户名将被允许(尝试它看到?)文档不清楚,但作为the docs说明一个原因对于失败可能是MembershipCreateStatus.DuplicateUserName,您可能只允许一个空白名称的单个用户...

+0

准确地说,当我读到这个问题时我想到了什么。 – spender 2011-03-04 13:34:48

+0

你的例子是处理它的正确方法。这有点痛苦,因为您无法使用Membership API轻松更新用户名。在这种情况下,自定义会员提供商可能是最好的? – 2011-03-04 14:04:05

2

我在这种情况下所做的是在帐户创建时生成一个随机的用户名。然后,当它们登录时,请致电Membership.GetUserNameByEmail(emailAddress)以获取用户名并使用它登录。

我不想将电子邮件地址放入用户名字段,原因是用户偶尔会更改其电子邮件地址。

+0

是的,这是一个合适的选择。使用guid作为用户名可能是前进的方向 – 2011-03-05 15:05:39