Windows Identity Foundation-在RP上以编程方式登录SSO



我已经尝试找出WIF有一段时间了,可以使用passiveRedirectEnabled强制用户通过我的STS登录,并限制已知用户访问我的网站。

我现在想在我的RP上使用我自己的登录视图页面,并通过程序在我的所有网站上为信任相同STS的用户登录。

用户应该能够完全查看我的网站,但可以选择通过我的网站导航中的链接登录。

我已经找了好几个小时了,却找不到一个简单可行的答案来实现这一点。

是否也有类似WSFederationAuthenticationModule.FederatedSignOut的内容用于登录?

如果可能的话,我该怎么做呢。

谨致问候。

是的-看看使用FederatedPassiveSignIn控件建立从ASP.NET依赖方应用程序到STS的信任。

IIRC,这是WIF SDK的一部分。

听起来你只想让用户登录一次,并通过多个不同依赖方网站的身份验证。因此,假设您有一个STS,通过RP1、RP2、RP3建立了多个信任关系。

  1. 用户浏览到RP1
  2. RP1将用户重定向到STS
  3. 用户在STS登录,STS建立会话,用户现在拥有STS会话cookie
    • 注意,这是唯一需要用户交互身份验证的步骤,其余步骤是自动重定向
  4. STS重定向回RP1,RP1建立会话,用户现在也有RP1会话cookie

通过STS身份验证后,您的用户已经有效地通过了RP2和RP3身份验证。情况如下:

  1. 用户浏览到RP2
  2. RP2重定向到STS
  3. STS看到用户已经有了STS会话cookie,所以立即为RP2发出一个令牌,并将用户重定向到那里
  4. RP2从STS接受令牌,并建立会话,用户现在拥有RP2会话cookie

这是一种非常常见的机制,也是WIF支持的核心场景。例如,在您使用live ID登录hotmail.com后,当您浏览到manage.dev.live.com时,您不必重新进行身份验证。这是因为您有上面第3步中的live ID会话cookie。

这就是你要找的吗?如果是,我可以更新更多细节。

相关内容

  • 没有找到相关文章

最新更新