gpt4 book ai didi

c# - 跨计划发送自定义 ACS claim 的最佳方式是什么?

转载 作者:行者123 更新时间:2023-12-03 03:20:29 25 4
gpt4 key购买 nike

我有两个程序,一个“登录”程序,它使用外部 STS(Google、Facebook 等)来登录用户并返回用户拥有的安全访问类型。然后,我想将该信息发送到一个单独的程序,该程序获取该安全访问权限并据此授予用户权限。

发送该信息的最佳方式是什么?

我已经阅读了一些有关自定义授权管理器服务的内容,但我不确定这是否是我所需要的。是否可以只发布安全信息,然后 web.config 将其转化为声明?我应该制作一个新的 token 并发送它吗?

我彻底迷失了。如果有人可以在网络上的某个地方提供有用的教程,那将非常感激(因为我的谷歌搜索只找到了长篇大论的文章,​​这些文章要么比我需要的多得多,要么少得多)。

具体的代码片段会让我很高兴。

谢谢!

编辑:我试图避免将登录系统变成 STS。但我开始觉得我需要这样做。 STS 和信赖方之间是否存在某个中间点?就像可以生成自己的声明的依赖方一样?

最佳答案

您有多种选择:

  1. 最简单的是 ClaimsAuthorizationManager,它可能就是您正在寻找的。 http://msdn.microsoft.com/en-us/library/ee748497.aspx CAM 是 ASP.NET 身份验证管道中的一个步骤,在应用程序验证从 ACS 传入的安全 token 后立即运行。您可以在此处定义自定义授权逻辑,并且可以向交付给您的应用程序的 IClaimsPrincipal 添加其他声明。例如,您可以在多个依赖方应用程序共享的库中实现 CAM,而不是将授权逻辑集中在服务中。

  2. 如果您的授权规则很简单,即您不查询任何外部用户属性存储,那么一种选择是使用 ACS 声明转换规则来执行此操作。然后您的应用程序将直接使用 ACS 颁发的 token 。 http://msdn.microsoft.com/en-us/library/gg185955.aspx

  3. 但是,如果您的架构绝对需要一个单独的登录服务来使用 token 并使用用户属性等填充新 token ,那么它将需要是一个 STS。构建自己的 STS 可能很棘手,但有预制的 STS 可以用来完成此任务。例如,如果您的应用程序位于 AD 域中,那么 ADFS 2.0 将是理想的选择,因为它与 AD 和 ACS 紧密集成,并且具有强大的声明转换功能。

关于c# - 跨计划发送自定义 ACS claim 的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9399342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com