问题标签 [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.

0 投票
1 回答
366 浏览

asp.net - 在被动 STS 的依赖方中指定必需/可选声明类型

我有一个 asp.net 应用程序(依赖方),它使用被动 STS 进行身份验证和检索声明值。依赖方正在使用 FederatedAuthenticationModule (FAM) 来启用到 sts 的被动重定向。我找到了有关如何在使用 InformationCards 时指定所需声明的文档,但尚未找到有关如何使用 FAM 进行配置的详细信息。

有没有人有这方面的例子?我能找到的最接近的例子是在日内瓦框架示例中,但它们处理的是不适用的活动 STS 和 WCF。

提前致谢。

0 投票
1 回答
827 浏览

authorization - 从 ADFS 迁移到日内瓦框架

我的公司需要联合身份解决方案,作为 Microsoft 商店,我们希望使用 MS 技术来实现这一目标。

我们在生产中没有 Server 2008 或 .NET 3.5,因此我们仅限于基于 .NET 2.0/Server 2003 的解决方案。

这意味着(就联合身份解决方案而言)Active Directory 联合服务

ADFS 看起来不错,因为它支持 WS-Federation 标准,这意味着我们可以与不使用 Microsoft 技术的合作伙伴进行联合。

不幸的是(对我们来说),微软即将发布基于 .NET 3.5 的身份框架,即日内瓦框架

日内瓦框架似乎在各方面都优于 ADFS(主要是因为它是 ADFS 加上额外的功能和标准支持)。

由于我们不是 .NET 3.5 商店,并且 Geneva 仅处于测试阶段,因此目前这对我们来说不是一个可行的选择。

我的问题是:我们从 ADFS 搬到日内瓦有多难?

我们正处于 ADFS 的概念验证阶段,因此我们还没有开始深入研究从基于身份的授权转移到基于声明的 ADFS 所需的代码更改。我确信我们可以将这个逻辑放在一个可以更新以支持基于日内瓦声明的身份验证的程序集中。

除了所需的代码更改之外,将我们基于声明的基础架构从 ADFS 迁移到日内瓦会有多困难?(例如从 ADFS 的 STS(联合服务)迁移到日内瓦的 STS(日内瓦服务器))

感谢您对此主题的任何意见,非常感谢!

0 投票
2 回答
1779 浏览

federated-identity - Simple Claims Transformation for an RP-STS in Geneva Framework

After reading the MSDN article (http://msdn.microsoft.com/en-us/magazine/2009.01.genevests.aspx) on implementing a Custom STS using the Microsoft Geneva Framework I am a bit puzzled about one of the scenarios covered there. This scenario is shown in figure 13 of the above referenced article.

My questions are around how does the RP initiate the call to the RP-STS in order to pass on the already obtained claims from the IP-STS? How does the desired method DeleteOrder() get turned into a Claim Request for the Action claim from the RP-STS which responds with the Action claim with a value Delete which authorizes the call? I also think the figure is slightly incorrect in that the interaction between the RP-STS and the Policy Engine should have the Claims and arrows the other way around.

I can see the structure but it's not clear what is provided by Geneva/WCF and what has to be done in code inside the RP, which would seem a bit odd since we could not protect the DeleteOrder method with a PrincipalPermission demand for the Delete "permission" but would have to demand a Role first then obtain the fine-grained claim of the Delete Action after that point.

If I have missed the point (since I cannot find this case covered easily on the Web), then apologies!

Thanks in advance.

0 投票
2 回答
1159 浏览

.net - 使用“System.Identity.Model.Claims”进行授权和认证

我想向我的应用程序添加身份验证和授权。我不想为此使用 Active Directory。我应该System.IdentityModel.Claims用来做这个吗?使用System.IdentityModel.Claims会更容易实现身份验证和授权吗?为什么/为什么不呢?

0 投票
1 回答
250 浏览

wcf - 日内瓦服务器 STS

我的要求是分配给用户的声明是公司知道的,例如用户 1:是公司 1 的产品经理的发布者,但同一用户只是公司 B 的编辑。这可以通过日内瓦服务器实现,或者需要额外的代码被写来覆盖类。

0 投票
0 回答
709 浏览

.net - 试图了解 AuthorizationContext 对象的生命周期

我有一个简单的授权设置,用于检查自定义授权策略 (IAuthorizationPolicy) 中某些已配置的活动目录角色 - 如果拥有这些角色,则添加声明。最重要的是,我有一个覆盖 CheckAccessCore 的 ServiceAuthorizationManager 子类。它验证是否拥有一些在自定义授权策略评估中添加的声明,以确认或拒绝传入消息。

因此,这些组件的设置在我的服务中运行良好——我的问题是它们何时被调用/与它们关联的对象的生命周期。每次调用服务时都会调用我的子类 ServiceAuthorizationManager - 这是我所期望的。但是,每次调用服务时也会调用我的自定义授权策略——这不是我所期望的。我可以看到每次调用服务都会生成一个新的 AuthorizationContext 对象。

我认为我的期望基于以下几点: AuthorizationContext 将在身份验证发生后创建 - 每次调用服务时都不会发生这种情况,因为客户端连接到 NetTcpBinding,每次调用都在同一个代理上(并且我想在传输上使用相同的打开套接字),使用带有 Windows 凭据的传输安全性,以及服务会话实例。

所以,我总体上期望的是 AuthorizationContext 只会在创建新会话时生成,或者当旧的 AuthorizationContext 对象根据其 ExpirationTime 属性过期时(不是在每次调用服务时)。

因此,如果有人能告诉我在 AuthorizationContext 对象的生命周期内的实际情况是什么 - 或者可能告诉我如何更改服务以使其按照我预期的方式运行,我将非常感激。

对于上下文 - 如果它有任何区别 - 我仍在使用 3.0 CLR 库。

谢谢

0 投票
1 回答
424 浏览

c# - C# 的声明 + 令牌库

是否有 C# 库允许我构建包含声明的加密令牌,然后给我一个 API 来检查令牌是否包含我感兴趣的声明?类似于“.NET 访问控制服务”的工作方式。我希望这个问题很清楚。谢谢,内斯特

0 投票
2 回答
228 浏览

sql-server - 在日内瓦使用 SQL Account Store

日内瓦让我很热,也很烦恼,因为我有可能解决客户向我们提出的复杂的身份验证和 SSO 问题。我了解日内瓦支持自定义和基于 SQL 的属性存储。但是,我需要支持自定义和基于 SQL 的帐户存储。

不幸的是,除了Beta 2 不支持它之外,我找不到任何可靠的确认或否认(第 23 页)在它发布时将支持它。这给了我希望,但我应该知道得更好。

问题:任何人都可以明确解决这个问题吗?

0 投票
2 回答
402 浏览

wcf - 声明感知 Web 服务之上的 MVVM

我正在为我目前面临的挑战寻找一些意见。

我已经构建了一个自定义 WIF STS,我用它来识别想要调用我的系统提供的某些 WCF 服务的用户。WCF 服务使用自定义授权管理器来确定调用者是否具有调用给定服务所需的声明。

现在,我正在构建一个 WPF 应用程序。在这些 WCF 服务之上。我正在使用 MVVM 模式,以便视图模型调用受保护的 WCF 服务(实现模型)。我面临的挑战是我不知道当前用户是否可以成功调用 Web 服务方法而不实际调用它们。基本上,我想要实现的是基于成功调用方法的能力启用/禁用 UI 的某些部分。

到目前为止,我提出的最佳解决方案是创建一个服务,该服务基于与自定义授权策略管理器相同的业务逻辑,将能够确定用户是否可以调用给定方法。现在,该方法必须作为一个字符串传递给该服务,或者实际上是两个字符串,ServiceAddress 和 Method (Action),并且基于该输入,该服务将能够确定当前用户是否具有访问所需的声明方法。显然,要使其工作,该服务本身必须需要来自相同 STS 并具有相同声明的已发行令牌才能完成其工作。

你们中的任何人过去有没有做过类似的事情,或者你们对如何做到这一点有什么好主意?

提前致谢,

克劳斯

0 投票
2 回答
596 浏览

wif - 使用日内瓦框架的自定义声明以及如何在您的应用程序中“同步”用户

也许这个问题凸显了我对声明身份管理知之甚少,但它就在这里。

如果在使用第三方 STS 作为身份并使用自定义声明进行授权的应用程序中使用 WIF(与应用程序相关且特定于 CanCreateFooBar 之类的东西)

1)如何管理用户?即,可以识别来自 AD 或其他会员资格提供商的用户,但在我的系统内部,我需要了解他们并拥有更多与身份无关的用户信息(因此让这些信息可用真的没有意义系统外),并且应该保留有关用户的信息,
问题是如何以智能的方式管理和创建我的系统数据(从 Ids 开始)?
我想到的确切场景是新员工被添加到公司,系统管理员为具有特定角色的域创建用户,我的系统如何才能意识到这一事实?(我可能希望系统提示系统管理员采取行动

2) 这些用户和角色的声明值存储在哪里,我该如何修改它们?理想情况下,我希望能够更改特定用户和操作的权限。有没有这方面的指导方针?

我可以看到这些可能是非常蹩脚的问题,但是当我考虑如何解决问题时,我想出了过于复杂的解决方案或需要大量重复的解决方案(即在两个地方创建使用的),所以我确定我我只是没有以正确的方式思考这个问题

谢谢