首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实现OpenID:识别用户

实现OpenID:识别用户
EN

Stack Overflow用户
提问于 2009-06-19 11:16:42
回答 1查看 5K关注 0票数 7

我工作的公司想要向外部世界发布一个内部网站,但也想以一些简单的方式识别访问者。一些功能将对所有访问者可见,但大多数功能必须对经过身份验证的访问者可见。(某些功能仅限管理员访问者使用。)虽然管理层正在考虑实现我们自己的身份验证系统,但我建议只使用现有的技术,该技术使我们无法管理用户名/密码。(因为当我们谈论安全性时,我们只是个外行。身份验证需要非常好。)

所以我从谷歌的OpenID开始,检查了他们提供的库。看起来很容易使用,而且我可以获得令牌,告诉我用户已经通过身份验证。但是,我如何识别这个用户,以便我可以将我们的配置文件信息链接到他的ID/令牌/其他任何东西?

我知道我遗漏了一些东西,所以为了简单起见:我只需要一些示例,展示如何向Google验证访问者,然后获得一些令牌,我可以用它永远链接到这个用户。(因此,没有会话令牌。)然后,该令牌可用于用户填写他/她的简档。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-06-19 13:46:11

因为你的标签表明你的语言是C#,所以我推荐DotNetOpenAuth。它是免费的,并且包括一些示例,这些示例将向您展示如何获取令牌(在OpenID术语中称为声明标识符),您可以使用这些令牌来区分用户。

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

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1017435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档