web.config中
<forms name="" loginUrl="" protection="" timeout="" path="" />
这里的path是什么意思???指的是什么路径?
MSDN中有:
“路径设置为 /。由于 Cookie 名称区分大小写,这是为了防止站点中的 URL 的大小写不一致而采取的一种保护措施。例如,如果路径设置为 /SavingsPlan,而链接包含 /savingsplan,由于浏览器不会发送 Cookie,用户将被迫重新进行身份验证。”
不理解这段的意思,请各位给我解释一下。第二个问题:
如果没创建用于认证的持久的COOKIE,在用一浏览器的同一次会话中,在不同页面间通过链接导向,
这一过程中,身份认证是如何进行的??
我只知道在登陆时提交表单后,如果通过了身份认证,利用redirectfromlogpage()创建含有身份认证票的COOKIE,并把此COOKIE包含在请求头文件中。在此次会话还没结束前,通过页面链接到另一页面资源的时候,认证是如何进行的呢?

解决方案 »

  1.   

    一、path是cookie的path,把path设为"/"那么"/"目录下的所有文件都可以访问这个cookie
    如果设置成一个子目录比如"/SavingsPlan"那么只有这个目录下的文件可以访问这个cookie二、.NET收到请求后会把请求中的cookie解密,根据cookie的值判断是否有访问请求页面的权限
      

  2.   

    第一个问题我还是没明白第2个问题,也许我没表达清楚,我的疑问是:
    如果没创建用于认证的持久的COOKIE,在一次会话中,我可以访问站内的多个页面,也就是说没有关闭浏览器之前,每一次请求的头文件都含有认证COOKIE。
    是不是在客户端创建了一个生命周期是一次会话(从建立会话到IE关闭)的的临时COOKIE??
    如果是这样的话,那IE关闭这个过程让COOKIE失效是如何实现的?我做了下实验,发现COOKIES文件夹里有个index.dat文件,似乎与这有关。
      

  3.   

    http://www.codeproject.com/aspnet/formsroleauth.asp
      

  4.   

    http://www.aspnetworld.com/articles/2004012601.aspxhttp://www.cnblogs.com/caca/archive/2004/07/26/27267.aspx这样的问题,楼主事实上可以自己解决的。
    在看的过程中,如果还有什么问题,发信息给我。