问题标签 [claims]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wcf - 日内瓦服务器 STS
我的要求是分配给用户的声明是公司知道的,例如用户 1:是公司 1 的产品经理的发布者,但同一用户只是公司 B 的编辑。这可以通过日内瓦服务器实现,或者需要额外的代码被写来覆盖类。
wcf - ASP.Net WCF 服务的 Thread.CurrentPrincipal 被联邦 (WIF) 环境中的某些拦截器丢弃
我有一个托管在 IIS (.svc) 中的每次调用 WCF 服务。在服务的构造函数中,我按照本文设置了Thread.CurrentPrincipal = HttpContext.Current.User。在这种情况下, HttpContext.Current.User属于Microsoft.IdentityModel.Claims.ClaimsPrincipal类型,并且具有从我的自定义被动 STS 发回的声明。
但是,一旦我进入我的服务操作并检查Thread.CurrentPrincipal,虽然该对象仍然是Microsoft.IdentityModel.Claims.ClaimsIdentity类型,但该对象本身不再与HttpContext.Current.User相同(IsAuthenticated = false , AuthenticationType = "" 和 Name 在 Thread.CurrentPrincipal.Identity 上为空),而这些值仍然在HttpContext.Current.User上正确填写。这告诉我,某些东西正在拦截对操作的调用,并将当前主体错误地更改为一些通用的、空的、未经身份验证的声明主体。
我在构造函数和操作中检查了线程 ID,这两个地方都相同,并且在从HttpContext.Current.User分配后立即窗口中评估Thread.CurrentPrincipal表明线程标识在构造函数,所以在构造函数和方法之间肯定会执行某些东西,并且某些东西正在改变我的Thread.CurrentPrincipal。
有谁知道这是在做什么,以及我该如何防止/修复这种行为?
sharepoint-2010 - BDC 中的 Sharepoint 2010 声明
我希望我的 BDC ReadList() 操作能够根据来自用户声明的电子邮件获取对象。我尝试在 webpart 中使用 IClaimsPrincipal,没有问题,但我无法让它在 BDC 模型中工作。
基本上我想做这样的事情:
ReadList() { 1. 获取 Claims 对象 2. 从 Claims 对象获取电子邮件 3. 使用该电子邮件进行查询 4. 返回查询结果 }
对此事的任何想法/想法都会非常感激。
security - 基于声明的身份验证:字符串是声明的本质吗?
一段时间以来,我一直在使用Windows Identity Foundation进行基于声明的身份验证编程。
在我看来,在Windows Identity Foundation中,一旦用户登录,声明基本上就是描述用户的信息字符串。
使用旧的基于角色的身份验证,我可以说用户是或不是给定组的成员,但使用基于声明的身份验证,我现在可以拥有描述用户的信息字符串。“这个用户是女性”。该用户出生于“1975 年 7 月 6 日”。“此用户使用 USB 密钥登录”。
它是基于声明的身份验证的本质,我有框架提供给应用程序的用户信息字符串吗?
wif - 我如何通过 WIF 请求被动 STS 的额外索赔?
我有以下内容:
- 充当身份提供者 (IDP STS) 的网站 ASP.Net 应用程序
- 联合提供者 (FP STS)
- 充当 (RP) 的资源 ASP.NET MVC 网站
当尝试访问 RP 中的资源时,它会通过 FP STS 并被重定向到 IDP STS。用户输入他们的凭证,在其有效性后,IDP 提供一些声明,这些声明传递给 FP STS,然后发送回 RP。在 RP 方面,收到索赔并提供资源。我如何向 RP 提出额外的索赔请求?
任何建议或方向都会很棒!谢谢,
wif - 使用基于 JAVA 的 STS 进行基于声明的身份验证?
我们有一个基于 java 的 STS 服务。我们希望将此 STS 用于 WIF 提供的基于声明的身份验证。有人可以提供一些关于如何实现这一点的见解吗?我遇到的所有示例都使用基于 C# 的 STS 和基于 C# 的 RP 。在我的情况下,RP 可以是 C#,但 STS 必须是 Java。具体来说,我想知道如何将 SAML 请求传递给 STS,以及传递给 RP 的声明格式。
谢谢,索姆纳斯
.net - 尝试通过 WebClient 访问 SharePoint 列表中的文件时收到 403 响应
我正在尝试使用 System.Net.WebClient 访问 SharePoint 列表中的文件。该列表禁用了匿名访问(当我们打开它时,它可以工作)并且我们正在使用基于声明的身份验证。我知道还有其他方法可以访问 SharePoint 列表中的文件,但这是关于我对 Office Web Apps Web 服务的调用,在该服务中我必须传递我希望它生成图像的文件的 URL . 使用此 URL 调用 OWA Web 服务并尝试通过 WebClient 直接下载文件都会产生相同的错误。
该错误是 403 被禁止的,经过一番谷歌搜索后,我认为原因与使用基于声明的身份验证有关。我已经尝试了一些建议的补救措施,但到目前为止没有任何效果。我可以使用浏览器访问文件和 Web 服务,并且在我收到身份验证挑战后它可以工作。如果我故意未能通过身份验证质询,我会收到 401 错误(不是 403),所以我不认为凭据有任何问题(我已经对它们进行了硬编码)。我尝试使用 RunWithElevated Privileges 运行代码,但这无济于事。
这是一些示例代码:
任何帮助表示赞赏!
wcf - Windows 身份基础声明来自 wcf 服务的访问权限
当我尝试从 WCF 方法实现中获取声明时,我得到了一个类型的对象,System.Security.Principal.WindowsPrincipal
它应该是一个类型的对象Microsoft.IdentityModel.Claims.ClaimsPrincipal
。有谁知道我在实现这个目标的设置中缺少什么?
代码行:IClaimsPrincipal principal = Thread.CurrentPrincipal as IClaimsPrincipal;
提前致谢
c# - 使用声明对 basicHttpBinding WCF 服务进行 Ntlm 身份验证
这个特定的声明身份验证环境恰好是 SharePoint。SharePoint 有自己的 http 模块来强制声明身份验证。未经身份验证的访问将导致一组基于声明的身份验证选项(例如 Ntlm 和表单)。
WCF 服务客户端显然不知道如何处理 SharePoint 返回的 403 消息。理想情况下,它将针对 url“/_windows”执行 Ntlm 身份验证序列,这将产生 401 质询,然后将生成的联合 cookie 传递给 WCF 服务。
这不是处理基于多身份验证选项声明的服务的最佳实践方式,但我无法挖掘关于该主题的任何好的资源。basicHttpBinding 是徒劳的吗?在这一点上我有什么选择?
c# - 在声明环境中正确地针对 WCF 服务进行身份验证
声明身份验证模式下的 SharePoint Web 应用程序支持 NTLM,但只能通过以下步骤:
- HTTP 302 重定向到第二个位置。
- NTLM 身份验证的 HTTP 401 质询
- HTTP 401 验证
- HTTP 302 重定向回原始位置(服务)
我可以编写自定义行为、通道工厂或绑定来处理这个问题吗?有没有更好的方法来解决这个问题?