我有一个 .Net MVC 应用程序,我正在尝试使用电子邮件地址作为用户名。我实现了本文中的逻辑,其中用户名被屏蔽为电子邮件。但是,当我尝试打电话时
private readonly MembershipProvider _provider;
MembershipCreateStatus status;
_provider.CreateUser(userName, password, email, null, null, true, false, out status);
其中用户名是“email@email.com”,状态始终返回为InvalidProviderUserKey。如果我使用标准用户名(没有@),它工作正常。我尝试寻找解决方案,但我真的可以在任何地方找到对 InvalidProviderUserKey 的解释。
我想知道是否有人以前遇到过这个问题,或者可能能够解释为什么这种情况会返回这个特定状态。提前感谢您的帮助。
更新
我将 Guid.NewGuid 用于 ProviderUserKey 并且它有效。
_provider.CreateUser(userName, password, email,null, null, true, Guid.NewGuid(), out status);
感谢 Daniel A. White 的帮助。您提供的文章链接是我需要理解的。