Joh*_*nCC 4 asp.net iis forms-authentication virtual-directory session-cookies
我们正在使用ASP.NET和IIS 6.0.我意识到应用程序,网站和虚拟目录的定义在IIS 6中定义不明确,并且在IIS 7中发生了很大变化.但是,我现在仍然坚持使用IIS 6.0.
我们在IIS中定义了一个网站,在虚拟目录中有许多单独的子网站.
该计划如下: -
http://site.example.com/site1
http://site.example.com/site2
.. etc ..
Run Code Online (Sandbox Code Playgroud)
site1,site2,...是IIS 6.0中"默认网站"下的虚拟目录.
我需要在大多数这些站点中使用ASP.NET会话和表单身份验证,我不希望它们共享身份验证数据或会话信息.
这两种机制目前都依赖于cookie.但是,默认情况下创建的cookie使用相同的名称,并且在浏览器中具有"/"路径,这意味着站点的cookie将相互冲突.
在不更改每个cookie的默认名称的情况下,如何在我的子站点之间强制分离?我是否需要更改IIS 6"应用程序"的虚拟目录?或者代码中是否有某种方法可以强制执行更有限的Cookie范围?
提前致谢.
对于Forms身份验证,您可以定义FormsCookiePath属性以反映每个子站点的虚拟目录.
http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.formscookiepath.aspx
对于会话状态,我没有看到任何可以定义路径的内容,但您可以从标准cookieName ="ASP.NET_SessionId"值中定义不同的cookie名称.这样每个子站点都在寻找不同的会话cookie.
http://msdn.microsoft.com/en-us/library/h6bb9cz9(v=VS.100).aspx
归档时间: |
|
查看次数: |
6236 次 |
最近记录: |