2011-03-04 78 views
0

我有哪些主机在IIS下2位点的W2K3服务器,这样我有Mysite.com和foo.mysite.comasp.net域/子域的认证工作不正常

我试图使用窗体身份验证和单一登录。

这两个站点都有相同的机器密钥,并且相同的域以a为前缀。在web.configs中。

我遇到的两个问题是;

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

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

这是我的理解是,添加域=“。mysite.com”将适用于该域下的所有子网站。

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

任何帮助解释和解决这些问题是非常值得欢迎的!

谢谢

作为此更新。我在这个网站的其他地方发现了重定向问题的工作。不知道为什么它不像我预期的那样工作,但我现在可以穿过那一个。

其次(在我的测试系统上)以编程方式指定域与www一起工作。而在配置文件中使用domain =“”则不会。

回答

0

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

+0

你让我失去了一点点。我需要在配置文件中指定域,以便它适用于子域。配置文件的工作,我遇到的问题是为什么它不会重定向回到子域,如果我成功登录第一次,以及为什么把www。在我的域名之前导致.net将此视为单独的身份验证cookie。 – Matt 2011-03-04 16:15:28

+0

我明白了,我以为你出于某种原因使用了子文件夹。你见过这个帖子吗? http://stackoverflow.com/questions/608120/forms-authentication-across-sub-domains – Trent 2011-03-04 16:27:05

+0

是的,这篇文章让我以编程方式尝试它。我想我只需要记住在将来的配置文件中不要做任何太聪明的事情:) – Matt 2011-03-04 16:35:10