加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – ASP.NET MVC 4如何使用自定义的memberprovider和roleprovi

发布时间:2020-12-15 04:06:47 所属栏目:百科 来源:网络整理
导读:经过大量的搜索和大量的尝试,我完成了如何让人们在我的网站上注册和登录(并给予他们角色等等).我从类ExtendedMembershipProvider和RoleProvider继承,为他们做了一个customclass,但现在我仍然有问题使Oauth工作(主要是OpenID).我在AuthConfig中注册了GoogleCl
经过大量的搜索和大量的尝试,我完成了如何让人们在我的网站上注册和登录(并给予他们角色等等).我从类ExtendedMembershipProvider和RoleProvider继承,为他们做了一个customclass,但现在我仍然有问题使Oauth工作(主要是OpenID).我在AuthConfig中注册了GoogleClient,但是一旦我尝试登录,并且它出现在(在AccountController.cs中):
if (OAuthWebSecurity.Login(result.Provider,result.ProviderUserId,createPersistentCookie: false))

然后它说尚未实现,现在我检查了扩展成员资格,我可以覆盖登录(因为它不在那里,但它在哪里).我也搜索google很多,但没有运气,任何使oauth工作的指示将是汗水(我想我需要做一个第3个CustomOathprovider,但我不能找到继承自)!

PS:我做了一个custommembershiprpovder和customroleprovider,因为我想使用一个不同的数据库方案.

格言

解决方法

我不得不在我的自定义成员提供者中覆盖3个更多的方法
public override void CreateOrUpdateOAuthAccount(string provider,string providerUserId,string userName)

public override int GetUserIdFromOAuth(string provider,string providerUserId)
//return -1 if User got no OauthAccount

public override string GetUserNameFromId(int userId)

现在它正在工作. (我通过覆盖会员提供程序中的所有方法,然后在每个位置设置一个断点,并且在任何地方,我根据我的自定义数据库填充了方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读