1、Session和Cookie
Session:在服务器端保持状态的一个方案。
存放在服务器上。
如果浏览器禁用掉了cookie,如何把session id传递回服务器?放到请求URL上或者隐藏在表单中。
在请求过多的情况下,服务器端存放太多session id会造成性能的影响。
Session一般用于存放登录信息等重要信息。
Cookie:在客户端保持状态的一个方案。
存放在客户的浏览器中。
如果不设置超时时间,关闭浏览器,cookie消失(该类cookie称为会话cookie,保存在内存中);
如果设置超时时间,cookie被保存在硬盘。
由于其存放在客户端,很容易被仿造,不安全。
cookie的大小是有限制的,不能超过3K。
Cookie一般用于存放有必要存储的非重要信息。
2、认识单点登录(SSO,Single Sign On)
对于各企业,会有各种各样的新老应用系统,当然了,这些系统有各自的架构、业务以及用到的数据存储系统不尽相同。老的系统丢不掉,一路用过来对吧。这么多系统混在一起,为企业带来的问题是什么呢?给人的第一感觉就是凌乱,维护起来十分不便。这里就出现了一个名称EAI(Enterprise Application Intergration,企业应用集成),其中包括业务集成、数据集中等等,当然其中还包括很重要的一个身份认证统一(SSO),SSO就是我们要认识一下的内容。
SSO就是单点登录,统一所有相关应用系统的身份认证,用户只需要登录一次就能访问相互信任的所有应用系统。
那么SSO带来的好处是什么呢?
只需登录一次带来了更好的用户体验,另外降低了安全的风险和管理的消耗。
SSO的技术实现机制是怎么样的呢?
我们可以打个比方:我们知道,对于全国各地的各个景点,我们去游玩的时候,每玩一个项目都需要购票,如果项目太多,每次买票是不是很麻烦?那么我们是不是可以只需要买一次票,就能玩遍所有的景点呢?答案是肯定的。
SSO的技术实现机制:访问多个应用系统,当我们访问其中之一,独立的认证系统进行用户信息校验,并生成唯一的标识(ticket)返回;当我们访问另外一个应用系统时候,就会带着唯一的标识ticket,由独立的认证系统去进行识别,决定是否能访问其他的应用系统。
技术实现机制图示理解如下:
如果我们要实现一个SSO,需要做的如下一些事情:
1、一个统一的身份认证系统,供所有应用系统共享;
2、所有应用系统能够识别和提取唯一标识信息ticket;
最简单的SSO可以通过Cookie来实现,认证系统生成唯一的标识ticket,在不同应用系统之间传递。不过通过Cookie实现的SSO,不管是在安全方面、功能方面还是性能方法都有很大的局限性:如cookie的安全保护、认证方式的支持、资源访问过滤的性能等等。
总结:单点登录认识很简单,要是真正实现起来,想做出一个完美的解决方案,还是有很多方面需要考虑的:安全方面、认证方式的支持方面(数字证书、SecurId等认证)等等。看来要想真正了解并掌握单点登录,还有很多工作要做的。
相关推荐
tomcat-redis-session-manager-1.2-tomcat-7-java-7tomcat-redis-session-manager-1.2-tomcat-7-java-7tomcat-redis-session-manager-1.2-tomcat-7-java-7tomcat-redis-session-manager-1.2-tomcat-7-java-7tomcat-...
CTFsession伪造脚本,有解密和加密的,一定要有私钥才能进行。
使用python脚本更改或生成cookie
赠送jar包:spring-session-data-redis-2.0.4....标签:springframework、session、spring、data、redis、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文
如果有sessionId,就去redis中查看是否有此id的记录,如果没有就新建session,如果有,还是新建session,并把redis中此session的相关数据赋值给新建的session,最后保存sessionId到cookie,cookie的maxAge设置为-1,...
http://blog.csdn.net/javandroid/article/details/52959105
赠送jar包:spring-session-data-...标签:springframework、session、spring、data、redis、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化
标签:springframework、session、spring、core、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释...
用于配置 tomcat-redis-session-manager
JAVA通过Session和Cookie实现网站自动登录的技术
# pacman -S flask-session-cookie-manager{3,2} 吉特 ArchLinux 两者python3 etn python2: $ git clone https://github.com/noraj/flask-session-cookie-manager.git && cd flask-session-cookie-manager # ...
资源来自pypi官网。 资源全名:flask-session-cookie-manager-1.2.1.tar.gz
Acct-Session-idAcct-Session-idAcct-Session-idAcct-Session-idAcct-Session-idAcct-Session-idAcct-Session-id
flask、session、cookie解加密脚本
案例一、记录用户的上次访问时间---cookie 案例二、实现验证码的校验----session。 1.服务器端向客户端发送一个Cookie 1)创建Cookie: Cookie cookie = new Cookie(String cookieName,String cookieValue); 示例:...
Tomcat8亲测可用 tomcat-redis-session-manager的jar包 修改了tomcat-redis-session-manager源码进行的编译生成的jar包
依照文档部署即可实现多服务器多tomcat session共享,jar包中是tomcat7集成所需要的jar包,序列化工具用的是java默认的序列化工具,若要使用其他版本的tomcat或其他的序列化工具,更具文档自己替换jar包即可,附赠...
标签:springframework、session、spring、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明...