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

c# – 实现OpenID:识别用户

发布时间:2020-12-15 07:57:25 所属栏目:百科 来源:网络整理
导读:我工作的公司想要向外界发布内部网站,但也希望以一种简单的方式识别访问者.某些功能对所有访问者都可见,但大多数访问者必须可见. (并且一些功能仅限于管理员访问者.)虽然管理层正在考虑实施我们自己的身份验证系统,但我建议只使用已有的现有技术,并使用户名/
我工作的公司想要向外界发布内部网站,但也希望以一种简单的方式识别访问者.某些功能对所有访问者都可见,但大多数访问者必须可见. (并且一些功能仅限于管理员访问者.)虽然管理层正在考虑实施我们自己的身份验证系统,但我建议只使用已有的现有技术,并使用户名/密码的管理远离我们. (因为当我们讨论安全问题时,我们只是业余爱好者.身份验证需要非常好.)

所以我从谷歌开始OpenID并检查他们提供的库.看起来很容易使用,我可以获得告诉我用户已通过身份验证的令牌.但是,如何识别此用户,以便将我们的个人资料信息链接到他的ID /令牌/随便?

我知道我遗漏了一些东西,所以要保持简单:我只需要一些示例,说明如何使用Google对访问者进行身份验证,然后获取一些可以用来永久链接到此用户的令牌. (因此,没有会话令牌.)然后可以使用此令牌来填写他/她的个人资料.

解决方法

由于您的标签表明您的语言是C#,我建议使用 DotNetOpenAuth.它是免费的,并且包含的??示例将向您展示如何获取您的令牌(在OpenID术语中称为声称标识符),您可以使用它来区分用户.

要获取声明的标识符(您正在寻找的永久标识符),如果您正在使用OpenIdTextBox或OpenIdLogin控件,只需处理其LoggedIn事件并获取e.ClaimedIdentifier属性.如果您以编程方式(无控件)执行此操作,则OpenIdRelyingParty.GetResponse()方法将返回一个IAuthenticationResponse接口,该接口上可以获取ClaimedIdentifier属性.

然后,您可以实现一个ASP.NET RoleProvider(非常简单,非常简单),允许一些OpenID声明的标识符属于管理员角色,允许您的标准ASP.NET授权技术根据他们的身份验证方式逐步锁定个人.

(编辑:李大同)

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

    推荐文章
      热点阅读