登录的几种方式

一、session

1、客户端发送请求,服务器将登录信息存储在 Session 中,Session 依赖于 Cookie(cookie指的就是在浏览器里面存储的一种数据,仅仅是浏览器实现的一种数据存储功能。Cookie实际上是一小段的文本信息。),即服务器创建 Session 时会分配一个 SESSIONID,并在响应时将这个 SESSIONID 存储到 Cookie 中。
2、客户端收到这个 Cookie 后自动保存,并在下次访问时带上这个 Cookie,届时服务器就能通过这个 Cookie 中的 SESSIONID 找到对应的 Session 从而识别用户。

3、问题:对于分布式系统而言,服务器之间是隔离的,Session 是不共享的,存在 Session 共享问题

cookie与session区别
1、cookie数据存放在客户的浏览器上,session数据放在服务器上;
2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session;
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能。考虑到减轻服务器性能方面,应当使用cookie;

二、token

1、客户端通过账号密码登录。
2、服务器通过查询数据库进行验证。
验证成功后 ,创建一个 Token 存储在 Redis 中,并将这个 Token 返回给客户端。
3、客户端收到这个 Token 后将其保存,并在下次访问时带上这个 Token。
4、客户端再次访问服务器时携带 Token。服务器 验证 Token:通过请求头中的 Token 查询 Redis 中存储的用户信息即可识别用户。

三、JWT

1、概念

JWT (Json Web Token),JWT 由三部分组成:Header(加密算法和 Token 类型)、Playload(数据)、Signature。

// Decoded
header = {"alg": "HS256","typ": "JWT"
}
playload = {"sub": "1234567890","name": "John Doe","iat": 1516239022
}
signature = HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), 签名Secret)// Encoded
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.7hQ9doI17Q47YK31oBIf-etsfFTVhSK9wwqgoOOr_zs

 Header 经过 BASE64 编码后生成字符串。

 Playload 经过 BASE64 编码后生成字符串。

 Signature 将前两部分内容 + 密钥,HS256 算法进行加密签名。

2、优点:不依赖Cookie,使得其可以防止CSRF(跨站请求伪造)攻击;

适合分布式系统。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/827043.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【行为型模式】状态模式

一、状态模式概述 状态模式的定义:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。(对象行为型) 策略模式和状态模式是双胞胎,在出生时才分开。 策略模式是围绕可以互换的算法来创建成功业务的。状态模式走的是更崇高的路&#xff0…

全民拼购:社交电商与拼购玩法的完美结合

大家好,我是微三云周丽,今天给大家分析当下市场比较火爆的商业模式! 小编今天跟大伙们分享什么是社交电商与拼购玩法的wan美结合? 随着社交电商和拼购玩法的兴起,全民拼购模式正逐渐成为电商行业的新宠。结合了人性化…

Github账号注册

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

深度学习与神经网络入门

前言 人工智能(AI)与机器学习(ML)与深度学习(DL)的关系: DL包含于ML,ML包含于AI。 即深度学习是机器学习一部分,机器学习又是人工智能的一个分支。 那么深度学习到底有…

openGauss学习笔记-268 openGauss性能调优-TPCC性能调优测试指导-网络配置-网卡多中断队列设置

文章目录 openGauss学习笔记-268 openGauss性能调优-TPCC性能调优测试指导-网络配置-网卡多中断队列设置268.1 中断调优268.2 网卡固件确认与更新 openGauss学习笔记-268 openGauss性能调优-TPCC性能调优测试指导-网络配置-网卡多中断队列设置 本章节主要介绍openGauss数据库内…

B203-若依框架应用

目录 简介版本RuoYi-fast项目准备新增模块/代码生成 简介 基于SpringBoot的权限管理系统,基于SpringBoot开发的轻量级Java快速开发框架 版本 前后端未分离单应用版本:RuoYi-fast,前后端未分离多模块版本:RuoYi 前后端分离单应用…

转行做银行测试,需要了解哪些?

在这个内卷严重的时代,银行的业务不断增加,随着软件信息化的要求越来越高,银行对软件测试人员也提出了非常高的要求。 银行的软件测试是针对银行的软件系统(如柜面系统、信贷系统)和银行专用设备(如ATM机、…

一键还原精灵 V12.1.405.701 装机版

网盘下载 个人版:不划分分区不修改分区表及MBR,安装非常安全,备份文件自动隐藏,不适用于WIN98系统。 装机版:需用PQMAGIC划分分区作隐藏的备份分区,安装过程中有一定的风险,安装后就非常安全。…

Linux(rpm,yum安装及管理程序)

目录 1.应用程序与系统命令 2.RPM 2.1rpm软件包管理工具 2.2 rpm命令的形式 2.3查询rpm软件包 ​2.4安装、升级、卸载rpm软件包 2.5维护数据库 3.yum 3.1 配置本地yum源仓库 3.2 yum常用操作命令 3.3 源码编译安装软件 1.应用程序与系统命令 应用程序与系统命令的关系 典…

银河麒麟安装OpenJDK

# 更新软件包列表(根据系统的实际情况,可能不需要这一步) sudo apt-get update # 安装OpenJDK sudo apt-get install openjdk-8-jdk

圣若热城堡、贝伦塔、热罗尼莫斯修道院 BIBM 2024在里斯本等你

会议之眼 快讯 2024年BIBM(IEEE International Conference on Bioinformatics and Biomedicine)即IEEE生物信息学与生物医学国际会议将于 2024年 12月3日-6日在葡萄牙里斯本举行!这个会议由IEEE(电气和电子工程师协会&#xff09…

linux将一个文件移动或复制到另一个目录下(超详细)

问题:需要在linux中将一个文件移动或复制到另一个目录下 下面提到的目录,可以直观理解为window中的文件夹 1、mv命令 mv是"move"的缩写,用于移动文件或目录到另一个位置。 将 文件 a.txt 移动到 目录home下 mv a.txt home将 目录…

Spark 中的分桶分化

Spark 中的分桶分化 Bucketing是 Spark 和 Hive 中用于优化任务性能的一种技术。在分桶桶(集群列)中确定数据分区并防止数据混洗。根据一个或多个分桶列的值,将数据分配给预定义数量的桶。 分桶有两个主要好处: 改进的查询性能&…

小游戏贪吃蛇的实现之C语言版

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏:C语言 目录 游戏前期准备: 设置控制台相关的信息 GetStdHandle GetConsoleCursorInfo SetConsoleCursorInfo SetConsoleCu…

单机三pxc节点集群,+docker-haproxy2.0负载均衡实现

一.下载 https://www.haproxy.org/download/2.0/src/haproxy-2.0.5.tar.gz 或者在这里下载(下面需要的各个配置文件都有): https://download.csdn.net/download/cyw8998/89170129 二.编写文件,制作docker镜像 1.Dockerfile&a…

四款一键智能改写工具,为你轻松改出爆款文章

四款一键智能改写工具,为你轻松改出爆款文章!当今,虽然内容创作变得非常重要。但是,有时候创作灵感可能枯竭,或者需要对已有内容进行改写以增加独特性。这时候,一键智能改写工具成为了创作中的一种强大的辅…

LeetCode 课程表二(拓扑排序+Python)

使用桶排序算法中的kahn(卡恩)算法,也可以使用dfs。 这里使用卡恩算法,主要维护一个列表cnt,cnt【i】表示能到达节点i的边,比如说:a到c有一条边,b到c有一条边,那么cnt【…

信息流广告大行其是,微博回望“原生”的初心

摘要:有流量的地方,就当有原生信息流广告 信息流广告,自2006年Facebook推出后就迅速火遍全球数字营销界,被誉为实现了广告主、用户、媒体平台三赢。特别是随着OCPM/OCPX大放异彩,信息流广告几乎成为广告主的必选项&…

Print Conductor 文档批量打印工具 v9.0.2312

网盘下载 Print Conductor 是 Windows 上一款功能强大的文档批量打印工具,通过该软件可以快速的帮用户批量处理打印PDF文件、协议、文档、图纸、演示文稿、文本文件等,完美的支持PDF、DOC、JPG、PNG、SNP、PSD、MSG、WRI、WPS、RTF、TXT、XLS、PPT、PPS、…

在Linux系统中,禁止有线以太网使用NTP服务器进行时间校准的几种方法

目录标题 方法 1:修改NTP配置以禁止所有同步方法 2:通过网络配置禁用NTP同步方法 3:禁用NTP服务 在Linux系统中,如果想要禁止有线以太网使用NTP服务器进行时间校准,可以通过以下几种方法之一来实现: 方法 …