我需要在SharePoint 2010中为要求用户执行search模拟。 为了说明这一点,我想先说明如何使用Windows帐户来处理这个问题,然后讨论Claims / WIF。 Windows帐户 我可以为“经典”Windows集成身份validation用户使用以下操作: WindowsImpersonationContext wic = null; try { WindowsIdentity impersonatedUser = new WindowsIdentity("john.doe@mydomain"); wic = impersonatedUser.Impersonate(); // do impersonated work here… // in my case this is a SharePoint KeywordQuery } finally { if (wic != null) { wic.Undo(); } } 为了得到上面的工作模拟帐户必须在当前用户在同一个域,我必须确保应用程序池的所有者是: 具有Windows 2003或更高版本的“域function级别”的域中的域帐户 在本地机器上具有“作为操作系统的一部分”特权 在本地机器上具有“在身份validation后模拟客户机”权限 (注意:如果任何人都可以想出如何解决当前帐户必须与冒充帐户在同一个域中的问题,那么我都非常期待)。 理赔账户 我想与索赔/ WIF账户一样。 […]
这些是用于Microsoft服务单点login的众多技术和stream行语。 有人可以解释ADFS,WIF,WS联邦,SAML和STS(安全令牌服务),包括何时何地被使用。
我试图创build类似于:客户端authentication并从自定义STS1获取令牌,下一个客户端使用机器密钥授权,并在自定义STS2上发出令牌,并获得另一个令牌。 用最后一个令牌,客户端请求RP服务的方法。 所有服务均在IIS上进行托pipe,并使用主动联合scheme。 两个STS的terminal都使用ws2007Federation和ws2007Http绑定,RP使用ws2007FederationBinding作为发行者。 如果我用CreateChannelWithIssuedToken创build通道,我只能看到来自STS1的令牌,不能从STS2获取令牌。 所以我决定把STS1的令牌作为ActA RST的属性传给STS2令牌。 那失败了 – 不能解密令牌。 我怎样才能将这两个标记传递给STS2并将它们合并起来? 是不是一个好主意 – 用RST发送刚刚从STS1令牌提取的声明?
应该使用http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifiertypes的声明吗? 这是主要的问题,这里还有其他的。 它与http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name声明有什么不同? 对于特定的用户来说,它是永久的,而不是名称索赔? 它是全球范围还是IdP范围?
我一直在使用JWT库来解码一个Json Web Token,并且想切换到微软官方的JWT实现System.IdentityModel.Tokens.Jwt 。 文档非常稀less,所以我很难想出如何完成我在JWT库中所做的工作。 使用JWT库,有一个Decode方法,它将base64编码的JWT转换成可以反序列化的JSON。 我想使用System.IdentityModel.Tokens.Jwt做类似的事情,但经过相当数量的挖掘,不知道如何。 对于它的价值,我正在从cookie中读取JWT令牌,以便与Google的身份框架一起使用。 任何帮助,将不胜感激。