您的位置:首页 > 编程语言

单点登录(二)使用Cookie+File实现单点登录登出(附源代码)

2017-06-27 11:33 357 查看

上一篇文章《单点登录(一)使用Cookie+File实现单点登录》中,我们实现了单点登录的功能。

本文作为上一篇文章的扩展部分,加入“单点登出”功能。

源代码下载:链接: http://pan.baidu.com/s/1bn57xCF password: 5apa


本例实现效果

        浏览器中输入网址:main.tgb.com,后输入username:it_main(以it开头就可以)和passwordpwd_main(以pwd开头就可以),勾选“一周内自己主动登录”。点击“登录”button。就可以实现单点登录功能。訪问关联的站点,点击news.tgb.com/bbs.tgb.com。则无需输入:username和password。点击“安全退出”button,则3个站点同一时候退出。


实现原理

        首次登录main网址,须要输入username和password。验证通过后,将在Cookie中保存一份username和password(3网址公用的),同一时候保存有一份Session(仅仅针对于main的session)。当訪问关联站点(如:news)时。首先从关联站点中查询各自的session(如news的session)中是否包括username和password,若session为空,则查询cookie中的值,并赋值给关联站点的news的session,此时訪问news网址时。无需登录。

        单击“安全退出”。则清空Cookie,同一时候清空3个网址的session。此时,若仍想登录站点,必须又一次输入username和password。


点评

        利用Cookie和Filter实现的单点登录。有其局限性【main.tgb.com   news.tgb.com   bbs.tgb.com 】,仅仅能针对于域名为“.tgb.com”的网址进行共享。

        若要实现不同域名之间的单点登录【如:main.com   news.com   bbs.com】,请參加下一篇文章..........


操作步骤

1.在C:\Windows\System32\drivers\etc中的hosts文件里,加入例如以下节点(直接加入在文件最后就可以):
127.0.0.1  bbs.tgb.com
127.0.0.1  news.tgb.com
127.0.0.1  main.tgb.com
2.在C:\tomcat\apache-tomcat-6.0.35\conf\server.xml中改动HTTP/1.1中的默认port:由8080改为80,例如以下所看到的:
<Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443"/>
3.将main.zip,news.zip,bbs.zip解压后。直接复制到apache-tomcat-6.0.35中。


4.启动tomcat,如: C:\tomcat\apache-tomcat-6.0.35\bin中双击startup.bat命令
5.浏览器中输入:main.tgb.com
6.输入username:it_main(以it开头就可以)和passwordpwd_main(以pwd开头就可以),勾选“一周内自己主动登录”。

点击“登录”button。

7.訪问关联的站点,点击news.tgb.com/bbs.tgb.com。则无需输入:username和password。

8.查看浏览器中Cookie和Session中的值

9.点击“安全退出”button。则3个站点同一时候退出。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: