众所周知,http请求是无状态的,每次发送请求的时候,对方都不知道你是谁。
实际需求中,我们登入系统后,需要系统记住是谁登入了,方便系统的权限管理,保证系统的安全性。

一、Session登入

Session是一块保存在服务器端的内存空间,一般用于保存用户的会话信息!

实现方式:\color{red} {实现方式:}实现方式:

  • 1、用户输入用户名密码点击登入按钮,服务端创建session,把用户信息存入session中。
  • 2、服务端自动返回给浏览器一个sessionID,存入浏览器的cookie中。
    下次用户再来访问的话会带着这个cookie中的sessionID,服务器通过sessionID去寻找对应的session,如果session中已经有了这个用户的登陆信息,则说明用户已经登陆过了。
  • 3、登入成功后的每次请求,都会带着sessionID到服务端,服务的判断session中的用户信息是否为空,如果不为空,则已登入。

session作为登入的弊处:\color{red} {session作为登入的弊处:}session作为登入的弊处:

  • 1、服务器压力大,通常Session是存储在内存中的,每个用户通过认证之后都会将session数据保存在服务器的内存中,而当用户量增大时,服务器的压力增大。
  • 2、重启服务,session清空,需要重新登入。
  • 3、Session共享:现在很多应用都是分布式集群,需要我们做额外的操作进行Session共享。

虽然session登入有弊处,但是一些小的项目,仍然用session作为登入的首选


二、Token实现登入

Token是现在最常用的方式。

实现方式:\color{red} {实现方式:}实现方式:

  • 1、用户发出登录请求,带着用户名和密码到服务器进行验证,服务器验证成功就在后台生成一个token返回给客户端。Token就是一个加密后的字符串。

  • 2、客户端将token存储到cookie中,服务端将token存储到redis中,可以设置存储token的有效期。

  • 3、后续客户端的每次请求资源都必须携带token,服务端接收到请求首先校验是否携带token,以及token是否和redis中的匹配,若不存在或不匹配直接拦截返回错误信息(如未认证)。

参考原文链接:https://www.cnblogs.com/54chensongxia/archive/2020/08/12/13491214.html 原文中有关于JWT的认证用法。JWT和Token本质区别并不大。

详谈企业级session、Token登入实现方式相关推荐

  1. 手机token登入软件_小程序中基于token的登录流程

    官方文档小程序登录流程的介绍 api-login.jpg 即先发起wx.login请求,得到code后经第三方服务器想微信服务器发送请求获取openid,assessToken等敏感信息,这里我们需要 ...

  2. 手机token登入软件_app开发调试工具_app开发token使用

    APP制作软件有哪些? 国外的制作工具 Appmakr 国内制作App的工具网站    AppCan 可以再搜搜里面去问下 网上都有,自己看 软件制作APP?什么意思?提的有点不清不楚的.难道是说可以 ...

  3. Redis实现短信登入功能(一)传统的Session登入

    基于Session实现登入流程 分步实现发送短信登入 (1)发送短信验证码 (2)短信验证码的登入 (3)登入校验 集群Session共享问题(Redis登入的提出) 基于Session实现登入流程 ...

  4. SSO单点登入原理及简单实现

    文章目录 什么是单点登入 为什么使用单点登入 单点登入的实现 原理 问题解释 什么是单点登入 SSO(Single Sign On):单点登录是实现多个系统之间统一登录的验证系统,简单来说就是:有A, ...

  5. php网站 qq登陆,PHP QQ一键登入网站实现过程

    qq一键登入功能对于大多数小中型网站来说是十分必要的,因为他给你的用户带来了极大的方便,但是想要集成网站的qq一键登入功能,你必须要一些编程基础,使网站和qq登入的应用之间进行一些必要的交互,下面我简 ...

  6. 权限组件之录入获取登入用户的所有权限

    1.urls.py 2.views.py get请求 3.login.html 页面 post请求 4.用户名或密码错误重新登入 验证用户名密码 登入成功之后做什么呢??? session 5.登入成 ...

  7. Telent远程登入实验

    前言 Telent----远程登入 Telent---TCP可达 模拟远程登入网络环境. 1.需求---配置IP地址 2.配置R2的远程登入 采用方式:接口password验证方式,口令为:gugu ...

  8. SSO方式实现微服务的登入业务

    1.登录业务介绍: 单一服务器模式 单一服务器模式用于登录的方式通常是使用session. 1.微服务 在分布式中通常使用单点登入(SSO(single sign on)模式)的方式实现用户登入,三种 ...

  9. sql server 更改端口之后的登入方式

    sql server 更改端口之后的登入方式, ip地址 + 逗号"," +端口号 如: 127.0.0.1,3389 转载于:https://www.cnblogs.com/he ...

最新文章

  1. 如何检查密钥库文件中的证书名称和别名?
  2. 关于CS架构文件传输流的问题,文中代码都是转自网上,但可保证代码无无误...
  3. Linux配置静态IP地址
  4. 贪吃蛇游戏(附源码)
  5. 谷歌、雅虎支持中文域名搜索 有助提升SEO
  6. win10系统进入监护人模式的方法
  7. Jetty 和tomcat 比较研究初探
  8. 公司内网环境下部署流量监控服务器的初步方案
  9. pgAdmin 3 编译安装
  10. android的绝对布局,Android布局之绝对布局AbsoluteLayout详解
  11. 一个简单的Appium测试(Python语言)
  12. Slove the {Failed to load unit 'HGCM' (VERR_INVALID_PARAMETER)}
  13. abaqus个人总结 各种问题各种debug
  14. USB连接默认更改为传输文件
  15. 失落世界服务器国庆宝箱位置,烟雨江湖国庆宝箱在哪里 烟雨江湖中秋宝箱位置坐标大全...
  16. 设置单选框只能选择一个
  17. NC65发布webservice接口开发环境启动服务找不到接口
  18. ORACLE (5): buffer cache(CBC LATCH实验)
  19. 76个常识,你知几个
  20. IP网络农村应急广播系统方案

热门文章

  1. 【EasyUI 】EasyUI 如何给input 赋值
  2. 超级好用的C++十六进制、十进制字符串转十进制数字
  3. 城市规划GIS技术应用指南(ch06)
  4. 游戏建模师一般工资多少?
  5. 计算10的阶乘以及10以内阶乘的和
  6. 用友系统由于修改辅助核算导致总账与辅助账对账不平问题解决方法
  7. 寄存器堆计算机组成实验,《计算机组成原理》实验报告——寄存器堆
  8. ReduceLROnPlateau pytorch动态修改学习率
  9. java wav音频文件播放器demo
  10. ArcGIS缓冲区分析停止工作