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

时间:2015-07-01 15:28:45

标签: iis cross-domain forms-authentication

我在IIS 7的一个实例上运行了2个站点。

A.site.com B.site.com

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

因此,如果我尝试使用网址

访问网站B上的受限页面

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的值不应该是相对路径。

1 个答案:

答案 0 :(得分:0)

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

编辑:

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

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

然后处理重定向客户端