2013-07-05 84 views
1

屏幕

  1. 背后,我们在不同的域中的两个web应用(网站1网站2 [SAML服务])。
  2. 我们需要使用SAML 2.0
  3. 网站1个构建一个注册SAML声明请求SSO目的进行通信(使用.PFX证书)和POST到不同的域的网站2(SAML服务
  4. 网站2接受此SAML请求并要求提供凭证。验证通过后,网站2将重定向到网站1(消费页面[AssertionConsumerServiceURL])和SAML响应。

问:如何在不使用WIF的情况下使用SAML 2.0实施SSO?

  1. 现在内网站1(消耗页[AssertionConsumerServiceURL])与SAML响应做什么,以SSO?
  2. 如果用户想要从网站1注销注销,该怎么做?为注销目的是否需要将任何其他SAML请求发布到网站2?
  3. 如果用户从网站2注销那么网站1发生了什么?
  4. 网站1(发行人)是基于ASP.Net的应用程序和网站2(目的地服务网址)是基于Java的应用程序。

假设

  1. 按照谷歌SSO担心,当你登录上到谷歌帐户无需登录分开,ORKUT,Gmail中。 Google 1这是SSO e.tc的示例。

注:

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

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

+0

[Ultimate SAML](http://www.componentpro.com/saml.net/)可以提供帮助。他们的[文档](http://www.componentpro.com/doc/saml/)解释了几乎所有的问题 – alexey

回答

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

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

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

  4. 其实并不重要。