【发布时间】:2011-08-27 06:25:48
【问题描述】:
我有一个 .Net MVC 应用程序,我正在尝试使用电子邮件地址作为用户名。我从this article 实现了逻辑,其中用户名被屏蔽为电子邮件。但是,当我尝试打电话时
private readonly MembershipProvider _provider;
MembershipCreateStatus status;
_provider.CreateUser(userName, password, email, null, null, true, false, out status);
如果用户名是“email@email.com”,则状态始终返回为InvalidProviderUserKey。如果我使用标准用户名(没有@),它工作正常。我尝试寻找解决方案,但我真的可以在任何地方找到 InvalidProviderUserKey 的解释。
我想知道是否有人以前遇到过这个问题,或者可能能够解释为什么这个场景会返回这个特定状态。提前感谢您的帮助。
更新
我为 ProviderUserKey 使用了 Guid.NewGuid,它起作用了。
_provider.CreateUser(userName, password, email,null, null, true, Guid.NewGuid(), out status);
感谢 Daniel A. White 的帮助。您提供的文章链接是我需要理解的。
【问题讨论】:
-
您的会员提供商是什么?
-
它是默认的会员提供者,公共抽象类 MembershipProvider : ProviderBase
标签: .net asp.net-mvc model-view-controller createuser