【问题标题】:IIS forms authentication cross domain not redirecting to correct domainIIS 形成跨域身份验证未重定向到正确域
【发布时间】:2015-07-01 15:28:45
【问题描述】:

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

A.site.com B.site.com

这些站点使用表单身份验证,并且在站点 A 上登录只有一种表单。

因此,如果我尝试使用 URL 访问站点 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 的值不应该是相对路径。

【问题讨论】:

    标签: iis cross-domain forms-authentication


    【解决方案1】:

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

    编辑:

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

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

    然后处理重定向客户端

    【讨论】:

    • 这行得通,所以我选择它作为正确答案,但我不喜欢它。我真的厌倦了 IIS。他们为什么要费心提供不起作用的功能?!
    猜你喜欢
    • 2016-03-06
    • 2013-02-11
    • 1970-01-01
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    • 2015-01-18
    • 2016-02-25
    • 2012-05-24
    相关资源
    最近更新 更多