我想设置每个客户子域,例如
clientA.topleveldomain.com
和
clientB.topleveldomain.com
我认为我可以通过拥有一个站点然后为该站点设置绑定来在IIS中执行此操作,例如。
Port 80 - clientA.topleveldomain.com
端口80 - clientB.topleveldomain.com
但是,我需要为两个子域进行独立登录。也就是说,一旦用户在clientA.top上进行了身份验证,就不应该在clientB.top上进行身份验证....
同样,两者都需要独立会话,因此在子域之间移动不会保留任何会话信息。
这是使用绑定“开箱即用”还是我需要将每个客户端作为一个单独的网站?
该站点将是在IIS 7上运行的ASP.Net MVC站点。我想使用ASP.Net表单身份验证。
答案 0 :(得分:0)
这是否可以“开箱即用”使用绑定或我需要 将每个客户作为一个单独的网站?
是的,因为开箱即用的会话和表单身份验证cookie不是共享的跨子域。但更好的方法是在web.config中明确设置这些cookie的domain
属性:
<forms loginUrl="~/signin"
cookieless="UseCookies"
protection="All"
timeout="30"
slidingExpiration="false"
domain="clientA.topleveldomain.com" />
另一方面,如果您使用的是集成Windows身份验证,则会更加困难,因为身份验证过程中不涉及Cookie。