2

我想设置每个客户端子域,例如

clientA.topleveldomain.comclientB.topleveldomain.com

我想我可以在 IIS 中通过拥有一个站点然后为该站点设置绑定来做到这一点,例如

端口 80 - clientA.topleveldomain.com

端口 80 - clientB.topleveldomain.com

但是,我需要两个子域的独立登录。也就是说,一旦用户在 clientA.top... 上进行了身份验证,他们就不应该在 clientB.top...上进行身份验证。

同样,两者都需要独立的会话,因此在子域之间移动不会保留任何会话信息。

这会使用绑定“开箱即用”,还是我需要将每个客户端作为一个单独的网站?

该站点将是在 IIS 7 上运行的 ASP.Net MVC 站点。我想使用 ASP.Net 表单身份验证。

4

1 回答 1

0

这会使用绑定“开箱即用”,还是我需要将每个客户端作为一个单独的网站?

是的,因为开箱即用的会话和表单身份验证 cookie 不是跨子域共享的。但更好domain的是在 web.config 中明确设置这些 cookie 的属性:

<forms loginUrl="~/signin" 
       cookieless="UseCookies" 
       protection="All" 
       timeout="30" 
       slidingExpiration="false"
       domain="clientA.topleveldomain.com" />

另一方面,如果您使用的是集成 Windows 身份验证,那么这将更加困难,因为身份验证过程中不涉及任何 cookie。

于 2013-07-16T11:01:51.500 回答