问题标签 [claims-based-identity]
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.
c# - 设置自定义主体/身份的最佳位置在哪里?
我一直在使用基于表单和基于声明的身份验证的网站(使用 ASP.NET C#)。我想重写 ClaimsIdentity 类,这样我就可以实现自定义 IsAuthenticated 方法并为特定于声明身份验证的身份添加更多属性。
我目前正在实现一个自定义 WSFederationAuthentionModule,但我试图弄清楚我应该覆盖哪个模块(特别是什么方法),以便我可以设置我的自定义身份/主体而不是默认的 ClaimsPrincipal?
到目前为止,我已经查看了 SessionAuthenticationModule 和 ClaimsPrincipalHTTPModule,但我无法弄清楚主体设置的步骤/覆盖它的最佳方式。
谢谢
补充: 由于我对此有点陌生,所以让我确定这是正确的:设置身份的方法是设置一个自定义主体,该主体设置为使用该身份:
或者,如果不需要自定义主体,则可以使用 ClaimsIdentityCollection 构造 ClaimPrincipal 类。
wcf - 通过附加到请求线程的安全主体访问声明,而不是 AuthorizationContext
我正在与Azure ACS 实验室合作,他们使用FederatedServiceCredentials对 Active Federation 的用户进行身份验证。现在我想从 WCF 服务中访问用户的声明。
根据这篇文章,声明由请求线程访问......任何人都可以解释或证明这意味着什么?
sharepoint-2010 - 人员选择器。我无法在管理中心站点接收 FBA 用户
我在.\sharepoint的数据库成员资格3有许多成员资格用户。
我的管理中心站点有web.config文件
我的新的基于声明的站点有web.config文件:
文件 C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebServices\Root\web.config :
我想在 Admin Center Site 中设置User Policy并且 FBA 用户没有进入 People Picker。但是我的基于声明的身份验证站点可以与任何 FBA 用户轻松登录。管理中心站点设置有什么问题?
sharepoint-2010 - 如果 Sharepoint 2010 有 STS,为什么会出现消息“没有受信任的身份提供者”
当您在 Sharepoint 2010 中创建新的 Web 应用程序并为“身份验证”选项选择“基于声明的身份验证”时,“受信任的身份提供者”框显示为灰色。
有一些博客等关于如何添加自定义 STS 或 ADFS 之类的东西,但内置的 Sharepoint STS 不是身份提供者吗?
Sharepoint STS 在 Web 应用程序中起什么作用?它是不同类型的 STS 吗?
在与 STS 具有信任关系的普通 Windows Identity Foundation (WIF) 应用程序中,您会看到 STS 提供的登录屏幕。
在 Sharepoint 2020 中,您没有任何登录屏幕?
启用 Sharepoint 声明的应用程序是否不同于启用 WIF 声明的应用程序?
wif - Windows Identity Foundation 和多个用户存储
我最近一直在研究 WIF,但对某些细节仍然有些困惑。我知道,如果您使用 ADFS,那就太好了,但这不是我的方案。在我的组织内,至少有 3 个主要的安全系统。我试图让公司将 AD 用于所有内部用途,但这不会发生。为了创建统一的编程模型,我考虑构建 add'l STS's 以进行身份验证/授权。
这真的很明智吗?我读过的大部分内容都说只使用 ADFS。如果没有,那就不要打扰。当创建自定义 STS 的过程很困难时,是否值得将 WIF 用于统一索赔模型?
如果不是每个用户都有要映射到的 AD 登录,您会怎么做。例如,我们有许多季节性员工实际上从未使用个人帐户登录过机器。机器由主管在早上登录,员工扫描他/她的徽章并使用员工 ID。
我们正在创建一个新应用程序,其代码库将被至少三组不同的用户访问。一组是内部的(使用 AD),另外两组可能会使用 asp.net 默认成员(好的,所以两组不同的用户存储)。我希望能够使用 WIF 来统一授权/身份验证,但是使用 WIF 似乎想要朝着相反的方向发展。它不强调身份验证,只是假设在许多情况下这是主要关注点时一切都很好。如果有的话,我如何在这种情况下利用 WIF?
我试过阅读这篇文章:
http://msdn.microsoft.com/en-us/library/ff359105.aspx
我阅读了 StarterSTS,我仍然需要阅读更多内容。我也看过 StarterSTS 作者的视频。我没能真正把所有东西放在一起。感觉 WIF 对我没有用,但我觉得它应该有用,因为我真正追求的是统一的身份验证和授权模型。谢谢
azure - NameIdentifier 和 IdentityProvider (WIF) 声明能否用于唯一标识任何用户?
考虑使用访问控制服务 (ACS)和Windows Identity Foundation (WIF)来保护我的 WCF 数据服务 Web API 应用程序。
如何使用声明来唯一标识用户?
我的想法是使用标准声明NameIdentifier和 WIF 声明 IdentityProvider 的组合来为任何用户创建一个唯一 ID。
这个组合真的稳定且独特吗?IP 会不会突然改变它的 IdentityProvider 字符串?
这里的想法是将两半的连接字符串存储为任何用户的唯一 ID。
NameIdentifier 声明是否有任何安全隐患?
干杯,
M。
javascript - 如何在 wp7 中进行基于声明的身份验证?
我正在开发window phone 7 应用程序。我是基于声明的身份验证的新手。我正在使用以下链接在 wp7 中针对基于声明的站点进行基于声明的身份验证。
在上面的链接中,我使用 authServiceUri 的 uri 作为http://login.live.com/并传递适当的用户名和密码。我收到错误消息,因为“登录需要 javascript。您的浏览器不支持 javascript 或脚本被阻止”。你能告诉我我应该怎么做才能消除这个错误吗?如果我做错了什么,请指导我。如果您对基于声明的身份验证有任何新想法,请分享这些想法。
c# - WIF 和 WCF - 在 AspNetCompatibilityMode 关闭的情况下访问 Thread.CurrentPrincipal 内部服务方法
我在其中一个页面上有一个带有 Silverlight 应用程序的 Web 应用程序。该网站使用 WIF 进行保护。我正在尝试从 silverlight 向托管在与我的网站相同的 appdomain 中的服务进行 WCF 调用。
如果我启用了 AspNetCompatibilityMode,这可以正常工作。浏览器已经过身份验证,因此当进行 WCF 调用时,Silverlight 客户端会发送 FedAuth cookie,并且 WIF 从会话 cookie (FedAuth/FedAuth1) 正确设置 HttpContext.Current.User。
不幸的是,我需要关闭 AspNetCompatibilityMode。在这种情况下,我可以看到 silverlight WCF 调用仍将 FedAuth cookie 传递给服务器,并且 SessionAuthenticationModule 正确设置了 Thread.CurrentPrincipal。不幸的是,sessionauthenticationmodule 似乎在与我尝试调用的实际 WCF 方法不同的线程中运行,因此我在 WCF/WIF 管道的某处丢失了身份。
有没有解决的办法?我尝试创建 SessionAuthenticationModule 的自定义实现并覆盖 SetPrincipalFromSessionToken (我可以在其中访问我的声明等),但我不确定我可以在哪里存储主体,以便在通道处理程序将调用分派给我的之后我可以访问它在另一个线程上服务。
claims-based-identity - nameidentifier 声明的目的是什么?
类型声明http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
应该用于什么?
这是主要问题,这里还有其他问题。
它与http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
索赔有何不同?
与名称声明相反,它对于特定用户是永久性的吗?
它是全球范围的还是 IdP 范围的?
c# - 如果用户通过 Claims 的身份验证,如何签入 sharepoint?
我在 Sharepoint 2010 中创建了几个 webpart。在当前版本中,用户通过广告登录进行身份验证,但现在客户想要自定义它并允许通过广告登录或电子邮件名称进行身份验证 - 使用声明(在不同的应用程序池上)。
我的问题是我必须检查用户是否通过声明进行了身份验证(在我的管理 webpart 中使用它)。
我知道我可以在 sharepoint 中检查用户登录名,如果它是这种形式:i:0#.f|ldapmember|user@example.com这意味着我打开了声明。
但也许有更好的方法来检查索赔是否打开?有谁知道这种方法吗?