今天博客园全面采用二级域名后,发现即使用户已经登录,但在访问二级域名Blog页面时都显示没有登录(表现为发表评论时要求输入验证码, 收藏功能无法正常使用),再次登录后,进入其他二级域名还是需要登录。在代码中,我是通过Request.IsAuthenticated来判断当前请求是否被验证的,以前全部采用www.cnblogs.com域名时很正常,看来是域名不同引起的。对于Form验证,验证是通过cookie进行的,在执行Request.IsAuthenticated时,会请求客户端相应的Cookie, Cookie名是在web.config中指定的,比如博客园web.config中的设置:

<authentication mode="Forms"> 
   <forms name=".DottextCookie" loginUrl="login.aspx" protection="All" timeout="480" path="/" /> 
</authentication> 

也就是说在执行Request.IsAuthenticated时,会执行类似这样的代码,HttpCookie cookie = Request.Cookies[".DottextCookie"];我们知道Cookie是与域名关联的,HttpCookie就有个Domain属性。博客园所遇到的问题就是二级域名不能访问主域名的cookie,登录时,博客园的程序通过FormsAuthentication.SetAuthCookie设置Cookie, 而登录代码是在www.cnblogs.com域名下执行的,cookie的域名被默认设置为www.cnblogs.com, 而我们在二级域名下就无法访问这个cookie,如何解决这个问题呢?cookie的domain是否可以设置成对所有二级域名有效?在Google中苦苦寻觅,终于找到了一篇文章(Tips On Using SubDomain), 原来可以将cookie关联的域设置为".domain.ext", 博客园的设置就是.cnblogs.com。 这样,我在FormsAuthentication.SetAuthCookie之后,加上这样的代码就解决问题了:

HttpCookie cookie = Request.Cookies[".DottextCookie"];
                if(cookie!=null)
                {
                    cookie.Domain = ".cnblogs.com";
                    Response.Cookies.Add(cookie);
                }

注:
    1、如果你现在还会遇到访问二级域名要重新登录的情况,请删除你计算机中相应的cookie文件,路径在C:\Documents and Settings\用户名\Cookies与C:\Documents and Settings\用户名\Local Settings\Temporary Internet Files中,文件格式为:用户名@www.cnblogs.com, 然后重新登录。
    2、如果你发现其他与二级域名相关的问题,请及时与我联系。
    3、如果你在访问博客园时,出现“Runtime Error”错误,那是因为刚刚更新了dll文件,你再过1、2分钟重新打开IE访问就行了。
    4、现在已经全面启用二级域名。

关于二级域名Cookie的问题及解决方法相关推荐

  1. 为什么用JS取不到cookie的值?解决方法如下!

    为什么用JS取不到cookie的值?解决方法如下! 参考文章: (1)为什么用JS取不到cookie的值?解决方法如下! (2)https://www.cnblogs.com/autoXingJY/p ...

  2. html网页打不开二级网页,二级网页打不开的解决方法

    现浏览器能打开网站主页,但网站内的其他页面打开处于加载状态,或加载页面错误,或点击链接没反应等等现象.有可能是IE组件或内核异常,或注册表异常导致的.下面是学习小编给大家整理的有关介绍,希望对大家有帮 ...

  3. 网络安全:、dns被劫持怎么解决DNS域名劫持的几种解决方法

    dns的快慢与稳定与否,关系着浏览时的正常;更有甚者,dns的健康与否,更会直接影响各个拨号客户端的健康. 现在国内上网的用户,大多家用的都是用的网通或者电信的adsl,这中间还分各省地区的拨号服务器 ...

  4. 阿里云网站备案未通过域名核验的原因和解决方法

    在大陆做网站都要跟着政策变化而变化,管局要求国内各大备案平台对提交的网站备案申请,进行网站备案域名核验.那么用户提交的申请各式各样,难免有这个那个原因无法通过域名核验,所以老魏会在本文中介绍未通过域名 ...

  5. 织梦dedecms5.7二级域名文章图片不显示修改方法.相对路径改为绝对路径的方法...

    dedecms升级到5.7SP1后,开启二级域名,你会发现,在二级域名下的文章,上传的图片地址都是:二级域名+图片地址,这是相对路径.但是你的图片是默认上传在uploads里面的.应该使用绝对路径.这 ...

  6. 搜狗域名长期一直不收录解决方法

    搜狗秒收录域名在圈内还算是挺值钱的,虽然各个搜索引擎对收录的标准不一样,但搜狗搜索为什么收录比较困难?搜狗不收录的原因很简单:1.网站历史有不良优化记录2.网站页面确实不达标. 解决方法: 1 改标题 ...

  7. DNS域名劫持的几种解决方法

    现在国内上网的用户,大多家用的都是用的网通或者电信的adsl,这中间还分各省地区的拨号服务器,dns(Domain Name System)就成了上网时,很关键的一环,dns的快慢与稳定与否,关系着浏 ...

  8. jsp cookie 中文乱码 的解决方法

    保存cookie String value = java.net.URLEncoder.encode("你需要保存的中文"); Cookie namecookie = new Co ...

  9. vue 关于清除浏览器全部cookie的问题及解决方法(绝对有效)

    请仔细观察你的浏览器cookie~ 1.问题描述 我们在日常开发中,有本地调试,有多个服务器的线上调试部署.从中我观察到,每次使用同一浏览器,如果再次登录时我们没有清理缓存,会有很多匪夷所思的问题.比 ...

最新文章

  1. oracle断电 ora01110,oracle在做备份的时候断电
  2. zookeeper学习笔记2
  3. 实践 Network Policy - 每天5分钟玩转 Docker 容器技术(172)
  4. php7和python3性能对比-为什么PHP7执行这个简单循环比Python3快得多?
  5. 计算机科学中最重要的32个算法(转)
  6. Android 读取assets文件下的txt文件
  7. php 电压 异常,tv断线警告是什么原因
  8. lua 字符串分割_Lua函数式编程(中)
  9. Activiti5第十一弹,流程监听器与任务监听器
  10. JVM参数这样配置会让你的程序更快更强
  11. 2020 大会员惊喜上线!大特权限时领取!
  12. 3.3 rsync同步之ssh隧道方式
  13. 再立阶段目标 09.10.26
  14. WPS新建文字分享微信.docx形式_DOC和DOCX文件的区别
  15. Linux 共享文件夹
  16. C++实现windows平台下音频播放音量调节功能
  17. 【CSS】笔记4-浮动、切图、学成在线
  18. 人工智能架构图和产业链构成
  19. Goldfish 介绍
  20. 上海亚商投顾:沪指高开低走 钠离子电池、储能概念崛起

热门文章

  1. 自己构建React项目
  2. docker部署express项目
  3. 慧林系统多服务器授权,慧林虚拟主机管理系统
  4. linux ip协议栈 漏洞,【漏洞预警】雪藏11年:Linux kernel DCCP double-free 权限提升漏洞(CVE-2017-6074)...
  5. Git三种报错:E325: ATTENTION、Please enter the commit message for your changes、Timed out
  6. linux修改web密码忘记,Ubuntu 直接修改IPMIweb登录密码
  7. python中注释的作用_Python函数添加注释的好处
  8. Redis的hotkey和bigkey的一些拆解方式
  9. [vb]On Error GoTo 0和On Error resume区别
  10. 中关村十大AI研究院 | 盘点