登录机制中的Cookie、Session、token以及单点登录

  • Post author:
  • Post category:其他


在登录机制中很多时候都涉及到Cookie、Session、token以及单点登录。下面我就简单的说明下他们的应用以及他们之间的关系。

1.Cookie 通常是保存在浏览器中的,在java 后端 通常生成方式如下:

Cookie cookie = new Cookie(“username”,”helloweenvsfei”);

cookie.setHttpOnly(false);

cookie.setPath(“/”);

cookie.setDomain(“localhost”);

response.addCookie(cookie);

2.Session 通常是页面登录后,java后台产生一个会话,生成方式如下

HttpSession session=request.getSession();

3. Cookie 与 Session之间的关系,可以先看如下的一种图

其中Cookie中JSESSIONID 就是 session 在后端产生后的 唯一值,用于http下次请求来找到后端相应的session

4. token 一般是由几个参数按照一定的算法产生的一个唯一的字符串。前端加密产生token,后端获取包括token等参数进行比对。

5.单点登录

单点登录基本上有如下两种形式

(1)一种采用独立的登录系统,各个应用获取到由登录系统产生的token后,可以在各自的系统登录

(2)一种利用cookie 来保存相关的登录信息,在各自的子系统进行登录

对于单点登录笔者认为,只要各个系统协商一致怎样都可以,主要还是涉及到安全的问题。笔者也临时想了一个单点登录的方式:

A 系统 登录后,利用token 机制,加密传输token ,B系统收到token后,比对正确,获取相应的用户权限信息,临时产生一个用户,用来完成B系统中的业务。token失效后,B系统的临时用户也同时失效。



版权声明:本文为qq_40263927原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。