2011-01-05 80 views
3

我有一个ASP.Net MVC网站,每个客户都有一个子域名,例如customer1.site.com,customer2.site.com等。ASP.NET登录到父域的子域

登录使用标准的ASP.Net FormsAuthentication从customer1.site.com/login和customer2.site.com/login中正常工作。

如何从父域(例如site.com/login)登录,其中用户在表单域中指定子域名?我希望将auth cookie存储在customer1.site.com或customer2.site.com中,因此显然需要以某种方式重定向并重新发布登录表单。

回答

1

我最终通过分裂解决这个这分成两个单独的页面。在第一页上,用户可以在提交表单时将其输入到子域名登录页面(例如customer1.site.com/login),然后才能输入子域名(例如customer1)。

+0

我处于类似的情况。有人有其他(更好)的解决方案吗? – user2645830 2014-05-13 14:35:32

1

您需要设置窗体身份验证Cookie域为“.site.com”

看到这里设置Cookie域(注意是领先的。):http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.cookiedomain(v=VS.100).aspx

+1

这不是我想要的,因为用户会登录到所有子域网站。我问的是,我如何重定向到子域名站点,然后重新发布登录表单? – ChrisR 2011-01-11 14:46:47

+0

使用javascript来动态设置登录表单发布到的URL? – 2011-01-11 14:50:42