MoX*_*lod 7 c# asp.net asp.net-membership dotnetopenauth asp.net-mvc-4
在这条线上,我得到一个例外 -
OAuthWebSecurity.CreateOrUpdateAccount(provider, providerUserId, model.UserName);
Run Code Online (Sandbox Code Playgroud)
System.Web.Security.MembershipCreateUserException:提供的用户名无效.
进入此的数据是
初始化工作正常
WebSecurity.InitializeDatabaseConnection("club", "User", "UserID", "UserName", autoCreateTables: true);
Run Code Online (Sandbox Code Playgroud)
我找不到任何说明用户名无效的例子?是否有某个标准定义了什么是正确的用户名?
小智 14
我同样在寻找解释.我不确定我完全理解,但经过实验,调试和观看intellitrace事件后,似乎CreateOrUpdateAccount正在创建或更新OAuthMembership表中的条目,只有Provider,ProviderUserId和UserId,这是通过查询[在我的情况下确定] ] UserProfile表基于此唯一UserName.这样,如果您使用不同的提供程序和providerUserId调用CreateOrUpdateAccount,但使用相同的用户名,则两个提供程序登录都将绑定到应用程序中的同一用户帐户.
在创建/更新相应的OAuthMembership记录之前,我必须添加UserProfile.在VS模板中,它看起来像这样:
db.UserProfiles.Add(new UserProfile { UserName = model.UserName });
db.SaveChanges();
OAuthWebSecurity.CreateOrUpdateAccount(provider, providerUserId, model.UserName);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6651 次 |
| 最近记录: |