IIS表单跨域身份验证未重定向到正确的域



我有两个站点在IIS 7的一个实例上运行。

A.site.comB.site.com

这些网站使用表单身份验证,有一个用于登录网站A的表单。

因此,如果我试图访问网站B上的一个限制页面的URL

B.site.com/TEST/

我被重定向到

A.site.com/login.aspx?ReturnUrl=%2TEST%2f

然后我可以输入用户名和密码进行身份验证。到目前为止还不错。

身份验证后,我被重定向到

A.site.com/TEST/

而不是

B.site.com/TEST/

有人能告诉我如何绕过这个问题并让IIS将我重定向到正确的页面吗?

注意:身份验证工作正常-我可以转到页面B.site.com/TEST/,不再重定向到登录页面。因此,问题只是重定向到错误的站点,或者ReturnUrl的值不应该是相对路径。

解决方法可能是强制用户使用JS返回到最后一页。虽然我承认这不是一个好答案。我认为这是一个IIS错误,因为使用不同子域设置表单身份验证的文档根本没有提到这个问题。

编辑:

更好的答案是更改loginUrl以包含域。

loginUrl="https://A.site.com/Login.aspx?domain=B.site.com" 

然后处理重定向客户端

相关内容

  • 没有找到相关文章

最新更新