0

这可能是关于 AD FS 2.0 声明规则设计的一个非常基本的问题,我还没有找到答案(新手)。我可能遗漏了一些非常基本的东西,但是这里有。

我正在公司内部署一个联盟。公司用户将能够浏览到 Web 应用程序 A、B、C 等。每个应用程序都有自己的子域 URL,例如 app-a.company.org、app-b.company.org 等。当应用程序重定向到其受信任的 STS 登录页面 我希望将返回 URL 传递给 STS。在 STS 声明规则中,我想提取返回 URL 并执行数据库查找,例如对于当前用户和 URL 为“app-a.company.org”的应用程序,我想要用户在该应用程序中拥有的所有角色(例如管理员、超级用户、购买者等等)。

我的问题是:

  1. 如何将返回 URL 传递给 STS?
  2. 如何编写索赔规则?(我知道如何进行数据库查找并发布结果,但我不知道如何在声明规则中检索返回 URL 或任何其他自定义参数)。

干杯,

莱纳斯

4

1 回答 1

0

现在我知道更多了,我将回答我自己的问题。大多数情况下,这个问题似乎是对术语的混淆。

我的印象是我需要为 STS 中的所有应用程序创建一个全局规则。不是这种情况。相反,可以为单独的应用程序编写规则(这些应用程序在 AD FS 术语中称为依赖方信任,即信任任何声明 STS 问题的实体)。STS 与应用程序之间的关系是 1:1。

在我的情况下,我需要应用程序域作为唯一标识符,因为我需要稍后查询数据库(也称为属性存储)以获取更多属性。由于可以编写特定于应用程序的规则,并且 STS 和应用程序之间的关系是 1:1,因此我只是创建了一个硬编码域名的规则。

所以回答我上面编号的问题:

  1. 由于依赖方信任关系是两者之间的永久连接,因此无需将其传递给 STS。
  2. 硬编码一个简单的无条件发布(或添加)声明规则,即=> issue(type = "http://myclaims/appdomain", value = "app-a.company.org")
于 2012-06-22T10:04:34.533 回答