`
wuhoujian322
  • 浏览: 65471 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java基础知识回顾第八篇 - Session和Cookie | 单点登录

阅读更多

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等认证)等等。看来要想真正了解并掌握单点登录,还有很多工作要做的。

 

  • 大小: 20.8 KB
1
0
分享到:
评论

相关推荐

    flask-session-cookie-manager

    标题“flask-session-cookie-manager”指的是一个Python应用,它专门针对Flask框架,用于管理和操作session cookie。在Web开发中,session cookie是服务器用来跟踪用户状态的一种方式,特别是在无状态的HTTP协议上...

    flask-session-cookie-manager-master.zip

    综上所述,“flask-session-cookie-manager-master”是一个针对Flask的session管理工具,重点关注session的安全加密和解密,旨在提高Web应用在CTF竞赛或实际开发中的安全性。通过研究和使用这个工具,我们可以深入...

    tomcat-redis-session-manager-1.2-tomcat-7-java-7

    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-...

    PyPI 官网下载 | flask-session-cookie-manager-1.2.1.tar.gz

    标题中的“PyPI 官网下载 | flask-session-cookie-manager-1.2.1.tar.gz”表明这是一个在Python Package Index(PyPI)上发布的开源软件包,名为“flask-session-cookie-manager”,版本为1.2.1,其源代码以tar.gz...

    tomcat-redis-session-manager包集合下载(tomcat8)

    【标题】"tomcat-redis-session-manager包集合下载(tomcat8)"涉及的主要知识点是将Redis集成到Tomcat中管理会话(session),以提高Web应用的性能和可扩展性。 【描述】中提到的"所需的tomcat-redis-session-...

    自己实现的spring-session

    如果有sessionId,就去redis中查看是否有此id的记录,如果没有就新建session,如果有,还是新建session,并把redis中此session的相关数据赋值给新建的session,最后保存sessionId到cookie,cookie的maxAge设置为-1,...

    JAVA通过Session和Cookie实现网站自动登录

    ### JAVA通过Session和Cookie实现网站自动登录 在现代Web应用开发中,用户认证与授权是极为重要的环节之一。为了提供良好的用户体验,很多网站都提供了自动登录功能,即用户首次登录后,在一定时间内再次访问该网站...

    JAVA通过Session和Cookie实现网站自动登录的技术

    JAVA 通过 Session 和 Cookie 实现网站自动登录的技术 在网站开发中,实现自动登录功能是非常重要的,JAVA 通过 Session 和 Cookie 实现网站自动登录的技术是其中的一种方法。本文将详细介绍如何使用 Session 和 ...

    Tomcat8亲测可用 tomcat-redis-session-manager的jar包

    1. **tomcat8**:这是Apache Tomcat的第八个主要版本,是一个开源的Java Servlet容器,它实现了Java EE的Web应用程序部署规范。Tomcat8支持Servlet 3.1、JSP 2.3和EL 3.0等标准。 2. **redis**:Redis是一种内存...

    Javaweb-session和cookie笔记

    通过上述介绍,我们可以看到Cookie和Session在Java Web开发中发挥着重要作用。它们不仅能够提高用户体验,还能帮助开发者更好地管理用户的会话状态。理解并熟练掌握这两项技术对于任何Web开发者来说都是至关重要的。

    tomcat-redis-session-manager-1.2-tomcat-6.jar

    用于配置 tomcat-redis-session-manager

    flask、session、cookie解加密脚本

    在处理用户登录和会话管理时,`session`和`cookie`是两个核心概念。本文将深入探讨`Flask`中的`session`和`cookie`,以及如何对它们进行解密。 首先,`session`和`cookie`都是用于跟踪用户状态的方法。`cookie`通常...

    flask-session-cookie-manager:Flask会话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 # ...

    JAVA之cookie与session

    ### JAVA之cookie与session #### 一、Cookie与Session的概念 **Cookie** 与 **Session** 是两种在 Web 开发中用于跟踪用户会话的重要技术。它们的主要目标是在客户端和服务端之间保持状态。 - **Cookie** 机制...

    WEB16-session&cookie-源代码.rar

    案例一、记录用户的上次访问时间---cookie 案例二、实现验证码的校验----session。 1.服务器端向客户端发送一个Cookie 1)创建Cookie: Cookie cookie = new Cookie(String cookieName,String cookieValue); 示例:...

    Memcached-session-manager使用说明及相关jar包(tomcat7版)

    依照文档部署即可实现多服务器多tomcat session共享,jar包中是tomcat7集成所需要的jar包,序列化工具用的是java默认的序列化工具,若要使用其他版本的tomcat或其他的序列化工具,更具文档自己替换jar包即可,附赠...

    x-uni-session:单点登录session服务端

    综上所述,"X-uni-session:单点登录session服务端"是一个基于Java构建的SSO解决方案,它利用Java的Web技术,如Servlet、Filter和session管理,以及可能的Token机制,实现用户在多个应用之间的无缝登录。同时,考虑到...

    cookie和session

    - 在Java Web应用中,可以使用`HttpServletResponse`对象的`addCookie()`方法来添加Cookie,并将其包含在HTTP响应头的`Set-Cookie`字段中。 4. **Cookie的获取**: - 可以通过`HttpServletRequest`对象的`get...

Global site tag (gtag.js) - Google Analytics