加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 单个站点上的多个应用程序 – 会话和表单身份验证范

发布时间:2020-12-16 07:22:26 所属栏目:asp.Net 来源:网络整理
导读:我们正在使用ASP.NET和IIS 6.0.我意识到应用程序,网站和虚拟目录的定义在IIS 6中定义不明确,并且在IIS 7中发生了很大变化.但是,我现在仍然坚持使用IIS 6.0. 我们在IIS中定义了一个网站,在虚拟目录中有许多单独的子网站. 该计划如下: – http://site.example
我们正在使用ASP.NET和IIS 6.0.我意识到应用程序,网站和虚拟目录的定义在IIS 6中定义不明确,并且在IIS 7中发生了很大变化.但是,我现在仍然坚持使用IIS 6.0.

我们在IIS中定义了一个网站,在虚拟目录中有许多单独的子网站.

该计划如下: –

http://site.example.com/site1
http://site.example.com/site2
.. etc ..

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读