【问题标题】:asp.net Domain / Subdomain Authentication not working correctlyasp.net 域/子域身份验证无法正常工作
【发布时间】:2011-03-05 00:17:30
【问题描述】:

我有一个 w2k3 服务器,它在 iis 下托管 2 个站点,因此我有 Mysite.com 和 foo.mysite.com

我正在尝试使用表单身份验证和单点登录。

两个站点具有相同的机器密钥,以及以 . 为前缀的相同域。在 web.configs 中。

我遇到的两个问题是;

1) 如果我转到http://www.mysite.com/login.aspx 并登录,然后导航到子域,它会将我重定向回登录页面。

但是如果我去http://mysite.com/login.aspx 并登录,然后导航到它工作的子域。那么为什么它将 www.mysite.com 和 mysite.com 视为单独的域,从而使我的身份验证无效?

据我了解,添加 domain=".mysite.com" 将适用于该域下的所有子站点。

2)如果我将子域登录 url 更改为 mysite.com 而不是 www.mysite.com 并首先点击子域,它会重定向到登录表单,但是当我登录时它不会重定向到子域,而是在主站点上查找子域页面。即浏览到 foo.mysite.com/bar.aspx,它会重定向到登录页面,现在登录时会尝试显示 mysite.com/bar.aspx 而不是我第一次请求的页面。

欢迎任何帮助解释和解决这些问题!

谢谢

作为对此的更新。我在本网站的其他地方找到了重定向问题的解决方法。不知道为什么它不像我期望的那样工作,但我现在可以把它划掉。

其次(无论如何在我的测试系统上)以编程方式指定域适用于 www。而在配置文件中使用 domain="" 则不会。

【问题讨论】:

    标签: c#


    【解决方案1】:

    为什么要指定域?另外,为什么不使用配置继承,这可以跨应用程序池工作。

    【讨论】:

    • 你有点迷失了我。我需要在配置文件中指定域,以便它适用于子域。配置文件有效,我遇到的问题是为什么如果我在成功登录时先点击它,它不会重定向回子域,以及为什么要放置 www.在我的域前面会导致 .net 将此视为单独的身份验证 cookie。
    • 我明白了,我以为您出于某种原因使用了子文件夹。你看过这个帖子吗? stackoverflow.com/questions/608120/…
    • 是的,那篇文章让我以编程方式尝试它。我想我只需要记住以后不要在配置文件中做任何太聪明的事情:)
    • 配置继承仅适用于foowww 内部的虚拟应用程序。
    猜你喜欢
    • 1970-01-01
    • 2020-05-01
    • 2016-11-09
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    • 2014-11-17
    • 2012-10-20
    • 1970-01-01
    相关资源
    最近更新 更多