我在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
的值不应该是相对路径。
答案 0 :(得分:0)
解决方法可能是强制用户使用JS返回到最后一页。虽然我承认,这不是一个好的答案。我认为这是一个IIS错误,因为使用不同子域设置表单身份验证的文档根本没有提到这个问题。
编辑:
更好的答案是更改loginUrl以包含域。
loginUrl="https://A.site.com/Login.aspx?domain=B.site.com"
然后处理重定向客户端