12

我在我的 ASP.net Web 应用程序中使用 ADFS 进行身份验证。STS 服务器将浏览器重定向到https://test.contoso.com。首先将客户端重定向到 STS 时,STS 不允许任何返回 URL 参数。

是否可以将浏览器从https://test.contoso.com(从 STS 重定向后)重定向到任何其他 URL,例如https://variableName.test1.contoso2.com

任何帮助深表感谢。

4

1 回答 1

15

身份验证后,默认情况下 ADFS 应将用户重定向到依赖方应用程序领域。听起来这是您已经拥有的,但您希望能够重定向到不同的 RP URL。

假设您有一个 RP,在 ADFS 中配置了领域http://myrprealm.com 。用户浏览到http://myrprealm.com/Contacts.aspx。WIF FederatedAuthenticationModule (FAM) 发现用户未通过身份验证,因此它将相对 URL“/Contacts.aspx”保存在名为 ru 的返回 URL 参数中。此 ru 被打包在 WS-Federation Passive 上下文参数 (wctx) 中。FAM 然后将用户重定向到 ADFS 进行身份验证。ADFS 将保留 wctx 参数,并在成功验证后将其回显到 RP ( http://myrprealm.com )。现在 FAM 处理此 ADFS 响应。当 FAM 打开 wctx 时,它注意到 ru=/Contacts.aspx,所以在建立会话后,它会将用户重定向到 Contacts.aspx。

如果您使用 SDK(Visual Studio > 添加 STS 参考)将 WIF 合并到您的 ASP.NET 站点中,则默认情况下您将具有此行为。

于 2012-04-27T17:48:37.207 回答