您的位置:首页 > 其它

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

2015-07-16 13:23 447 查看
上一篇文章《单点登录(一)使用Cookie+File实现单点登录》中,我们实现了单点登录的功能。

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

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

本例实现效果

        浏览器中输入网址:main.tgb.com,后输入用户名:it_main(以it开头即可)和密码pwd_main(以pwd开头即可),勾选“一周内自动登录”。点击“登录”按钮。即可实现单点登录功能。访问关联的网站,点击news.tgb.com/bbs.tgb.com,则无需输入:用户名和密码。点击“安全退出”按钮,则3个网站同时退出。

实现原理

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

        单击“安全退出”,则清空Cookie,同时清空3个网址的session。此时,若仍想登录网站,必须重新输入用户名和密码。

点评

        利用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中的默认端口:由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.输入用户名:it_main(以it开头即可)和密码pwd_main(以pwd开头即可),勾选“一周内自动登录”。点击“登录”按钮。



7.访问关联的网站,点击news.tgb.com/bbs.tgb.com,则无需输入:用户名和密码。



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



9.点击“安全退出”按钮,则3个网站同时退出。

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