更新时间:2023-12-04 11:27:04
我假设您正在尝试在控制器中获取userID.您是否尝试过:
I assume you're trying to get the userID in in a controller. Have you tried:
int currentUserId = (int) Membership.GetUser().ProviderUserKey;
我无法告诉您这是否适用于Facebook,但适用于Google Auth.对我来说.
I can't tell you if this works with Facebook or not, but it works with Google Auth. for me.
如果您使用的不是AccountController,则还应该在控制器类的顶部添加 [InitializeSimpleMembership]
.
You should also add [InitializeSimpleMembership]
on top of controller class if you use another controller than AccountController.
检查此内容:在新的MVC4应用程序中获取UserId(int)
Check this method int GetUserIdFromOAuth(string provider, string providerUserId)
and try something like:
SimpleMembershipProvider provider = (SimpleMembershipProvider) Membership.Provider;
int id = provider.GetUserIdFromOAuth("you_know_the_provider", "you_can_get_the_provider_user_id")
另外,这个问题的人:
OAuth和SimpleMembership-如何从中检索ProviderUserIdwebpages_OAuthMembership表
抱怨与您的问题相反:他想要ProviderUserKey,但一直获取UserID.
is complaining about the opposite of your problem: he wants the ProviderUserKey but keeps getting the UserID instead.