服务器认证、授权、鉴权、session、token

1、session(赛神)会话机制

  • session 会话机制会借助 cookie + session 一起来做认证

  • cookie 是放在浏览器中的,cookie 是存储在客服端,但是可以由服务端和客户端生成。

  • sesion 是保存在服务端的数据库中的,session 是服务端一块存储空间,只能由服务端生成。

  • session 是把 session id 也就是session 的 key 值,保存到 cookie 当中

  • 这个 key 值 一般在访问其他页面的时候会放到 cookie 当中,向后端发起请求

  • 当用户输入账号和密码登录后,服务端会返回用户的session id 把他放在cookie中这就是session机制认证

2、token(套肯)安全令牌机制

  • token 不依赖服务器资源

  • token 服务端生成的

  • 往往会将 token 放在浏览器中,请求头中

  • 当用户输入账号和密码后,后端将他的安全令牌作为相应数据返回给我,那就是 token 令牌机制

  • 当用户输入账号和密码后,会返回一个 token ,绝大多数情况下会 通过前端的工程师放到请求头当中,然后再去发起请求

  • 用的最多的是 jwt token 机制

  • 浏览器接收到响应报文之后,会将 token 放在 local storage (本地存储空间)/ session storage

3、鉴权

  是指验证用户是否拥有访问系统的权利---鉴定权限

4、为什么会有cookie、session、和token?

  • http是无状态协议

  • cookie 缓存

    • 大部分存在浏览器中,是客户端的缓存  

    • 主要是 name 和 value 的存储  

  • session 会话

    • 存储在服务器当中  

    • 是浏览器 和 服务器 之间的验证  

5、cookie 和 session 区别

  • cookie:客户端和服务端都能生成 cookie,存放在客户端。存放一些不敏感的数据,数据类型只能是字符串

  • session:服务端生成 的 session , 存放在服务端,可以存放任意数据,Java 中 session 中可以存放任意对象,session 必须依赖 cookie 实现

6、session 和 token 的区别

  • session

    • session 是服务器生成、存储、验证,以 cookie 的方式传给客户端,客户端以同样方式(cookie)发送给服务端

    • session 有状态

  • token

    • 是加密字符串

    • 服务器生成、验证,以 cookie 或者 请求头的方式传给客户端,客户端以同样方式(cookie)发送给服务端

    • token无状态

 

*******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/   谢谢!!******* 

posted @ 2020-01-02 15:19  守护往昔  阅读(2029)  评论(0编辑  收藏  举报