Visual studio 2010 Windows身份基础——基于SSP的RP编程签名

Visual studio 2010 Windows身份基础——基于SSP的RP编程签名,visual-studio-2010,single-sign-on,wif,Visual Studio 2010,Single Sign On,Wif,我已经试着弄清楚WIF有一段时间了,我可以强迫用户通过我的STS登录,使用被动DirectEnabled并限制已知用户访问我的站点 我现在更希望在RP上使用我自己的登录视图页面,并通过编程方式在我所有的站点上登录信任相同STS的用户 用户应该能够完全查看我的网站,但可以选择通过我的网站导航中的链接登录 我已经找了几个小时了,找不到一个简单可行的答案来实现这一点 是否也有类似于WSFederationAuthenticationModule.FederatedSignOut的登录方式 如果可能的话

我已经试着弄清楚WIF有一段时间了,我可以强迫用户通过我的STS登录,使用被动DirectEnabled并限制已知用户访问我的站点

我现在更希望在RP上使用我自己的登录视图页面,并通过编程方式在我所有的站点上登录信任相同STS的用户

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

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

是否也有类似于
WSFederationAuthenticationModule.FederatedSignOut
的登录方式

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


问候。

是的,有-看看


IIRC,这是WIF SDK的一部分。

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

  • 用户浏览到RP1
  • RP1将用户重定向到STS
  • 用户在建立会话的STS处登录,用户现在拥有STS会话cookie
    • 注意:这是唯一需要用户交互身份验证的步骤,其余步骤是自动重定向
  • STS重定向回RP1,RP1建立会话,用户现在也有RP1会话cookie
  • 通过对STS的身份验证后,用户已经有效地对RP2和RP3进行了身份验证。下面是发生的情况:

  • 用户浏览到RP2
  • RP2重定向到STS
  • STS发现用户已经有一个STS会话cookie,因此立即为RP2发出一个令牌,并将用户重定向到那里
  • RP2从STS接受令牌,并建立会话,用户现在拥有RP2会话cookie
  • 这是一种非常常见的机制,也是WIF支持的核心场景。例如,在您使用live ID登录hotmail.com后,在浏览manage.dev.live.com时不必重新进行身份验证。这是因为您有一个liveID会话cookie,来自上面的步骤3


    这就是你要找的吗?如果是这样,我可以更新更详细的信息。

    这种方法的问题是我仍然会被发送到我的STS登录。我正在寻找解决方案,而我可以在我的依赖方上执行所有逻辑,并将请求发送到我的STS,然后STS将提供会话密钥。根据定义,STS是所有站点的外部。没有“会话密钥”。STS将为您提供一个特定于(并且应该是)站点的“安全令牌”。是否无法将用户凭据发送到STS,在STS验证并将安全令牌发送回RP,而用户无需实际访问STS?如果您愿意,您可以创建一个与STS上的活动端点对话的WCF服务。您可以将凭据传递给web服务,它返回一个有效的安全令牌,然后使用该令牌对会话和cookie进行排序。这种方法对你有用吗?