2

屏幕后面

  1. 我们在不同的域中有两个 Web 应用程序(网站 1 和网站 2 [SAML 服务])。
  2. 我们需要使用 SAML 2.0 进行 SSO 通信
  3. 网站 1 构建一个签名 SAML 断言请求(使用.PFX 证书)并 POST 到不同域的网站 2( SAML 服务)
  4. 网站 2 接受此 SAML 请求并要求提供凭据。验证后,网站 2 使用 SAML 响应重定向到网站 1(使用页面 [AssertionConsumerServiceURL])。

问题:

  1. 现在在网站 1(使用页面 [ AssertionConsumerServiceURL ])中如何处理SAML 响应以实现 SSO?
  2. 如果用户想从网站 1 中注销,该怎么做?出于注销目的,任何其他 SAML 请求都需要发布到网站 2 吗?
  3. 如果用户从网站 2注销,那么网站 1 会发生什么?
  4. 网站 1(颁发者)是基于 ASP.Net 的应用程序,网站 2(目标服务网址)是基于 Java 的应用程序。

假设

  1. 根据 Google SSO,当您登录 Google 帐户时,无需单独登录 ORKUT、GMAil。Google 1 这是 SSO 等的示例。

笔记:

  1. 网站 1 是一个 Asp.Net 应用程序。
  2. 网站 2 是基于 Java 的 SAML 服务。

我主要关心的是如何在 ASP.NET 应用程序中使用 SAML 响应。我不是 SAML 2.0 (SSO) 的专家。所以请作为新手指导我。我需要您的评论来澄清我的知识和代码片段如何在网站 1 中以 SSO 为目的处理 SAML 响应?

4

1 回答 1

0
  1. 解析,验证签名。使用断言发出本地 cookie 以保持用户会话(您可以使用表单身份验证和表单 cookie 或发出 SessionAuthenticationModule cookie)

  2. 是的,您手动创建 SAML 请求以注销并将其发布给身份提供者。

  3. 身份提供者应该将注销请求“广播”到所有经过身份验证的应用程序。对此有不同的实现,但从 Website1 的角度来看,这意味着将从浏览器发出一个请求,告诉应用程序注销用户。从技术上讲,该应用程序只是删除其本地 cookie。

  4. 真的没关系。

于 2013-07-18T17:48:51.217 回答