0

我正在开发一个门户样式应用程序(使用 asp.net/mvc),它将链接到其他应用程序。我正在考虑使用 ADFS 和支持 AD 进行身份验证。我想为门户和这些单独的应用程序启用单点登录。这些单独的应用程序(一些和 Java 和一个在 ruby​​ 中)将信任 ADFS,并且可以接收 SAML 令牌进行身份验证。

用户必须登录到这个门户应用程序,因为用户已经登录到门户,所以到门户中其他应用程序的链接将无缝工作。本质上,我的门户是身份提供者。ADFS 可以实现这种情况吗?

4

1 回答 1

0

是的,这是可能的。但是,您问题中的术语并不完全正确:您的门户应用程序不是身份提供者,而是 AD FS。

会发生以下情况:

  • 用户浏览到门户应用程序。
  • 门户应用程序重定向到 AD FS。
  • 用户使用表单或 NTLM 或其他方式针对 AD 以静默方式或交互方式向 AD FS 进行身份验证。AD FS 是IP/STS,即身份提供者。 此操作是单点登录。 作为响应,AD FS 将“AD FS cookie”发送回浏览器。
  • AD FS 还使用安全令牌重定向回门户应用程序。
  • 门户应用程序将其主页与“门户 cookie”一起发送到浏览器。作为该主页的一部分,它将应用程序 X 的“主页”发送到浏览器。

现在历史大多重演,点对点:

  • 浏览器检索应用程序 X 主页。
  • 应用程序 X 重定向到 AD FS。
  • 浏览器将“AD FS cookie”发送到 AD FS,向 AD FS 证明用户的身份。 此时不会发生登录。
  • AD FS 使用新的安全令牌重定向回应用程序 X。
  • 应用程序 X 将其“主页”连同“应用程序 X cookie”一起发送到浏览器。

当对门户应用程序或应用程序 X 进行回访时,浏览器将发送“门户 cookie”或“应用程序 X cookie”。应用程序识别 cookie,并且不再将浏览器重定向到 AD FS。所以与 AD FS 的对话只发生在应用程序启动时,每个应用程序一个。

于 2011-02-16T18:23:09.477 回答