360sess,ASP.net只改造一个文件,让任何类型网站共享主站SESSION,支持多种类型程序间的SESSION共享

SESSION共享对网站的意义非常重大,可以实现共享登录,用户的体验非常好。网上有很多种跨域的解决方法,全部研究下来,发现要么要程序架构的支持(很麻烦),要么要数据库的支持(性能低),要么要在COOKIE里存储加密序列(不安全)。这些我觉得都不够完美,一个好的跨全局域的方法,应该能吸收并能融入任何第三方的WEB程序,并且共享主站的SESSION,而且最重要的是改造起来要简单可靠(QQ:303313719)。
跨二级域的实现非常简单,可以设置Cookie的domain来使子站拥有主站的SESSIONID,从而实现SESSION的共享,这种技术有局限性,那就是只能在一个域名下使用,我这边也已经完美实现。这里主要讲的是不同网站之间的SESSION共享。比如www.a.com和www.b.com两个或者多个不同主域的SESSION共享,实现多种类型的网站的登录和退出,当然该技术也完全可以实现二级域SESSION的共享功能。
实现效果如下图所示:
image360sess,ASP.net只改造一个文件,让任何类型网站共享主站SESSION,支持多种类型程序间的SESSION共享imageimage360sess,ASP.net只改造一个文件,让任何类型网站共享主站SESSION,支持多种类型程序间的SESSION共享
imageimageimage360sess,ASP.net只改造一个文件,让任何类型网站共享主站SESSION,支持多种类型程序间的SESSION共享
注意看,主站是.cn的域名,从站是.com的域名,完全不同,但是可以看到主站和从站的SESSION的内容完全一样,主站SESSION变更的时候,从站也会立即变更。数据都是在服务器上存储的,不需要添加任何JavaScript,不需要做加密字符串,不依赖任何系统架构(QQ:303313719)。
在需要改造为共享SESSION的站只修改Global.asax一个文件,在主站只添加一个SESSION同步的空白页面即可。由此技术也可以扩展为多种语言的SESSION共享,比如Java和.net间的SESSION共享,PHP和.net间的SESSION共享,.net不同程序间的SESSION共享,Java不同程序间的SESSION共享,PHP不同程序间的SESSION共享。任何程序间的SESSION共享都是没有问题的,可以根据相关需求进行定制(QQ:303313719)。


这里需要注意的是,做成共享SESSION之后,就只能在主站做登录和退出操作。还有就是如果没有同步SESSION,页面会在第一次打开的时候做一下反弹跳转(跳转到主站,然后再反弹到当前页面),二级域的SESSION共享则没有这个现象,如果考虑SEO方面,可以定制为只在特定的网址上做SESSION同步即可。
Tags:  pkusess sessdbh 360sess

延伸阅读

最新评论

发表评论