首页 > 其他分享 >shiro和JWT

shiro和JWT

时间:2022-11-11 17:23:52浏览次数:52  
标签:公钥 私钥 JWT RSA token shiro 服务端

shiro 有状态登陆,存在服务器端。
JWT无状态登陆,存在客户端,JWT生成的token默认有效期是三十分钟,并且,JWT无法使已经生成的token失效。
有状态就是说把信息存储在session中,因为session是存在服务端的,也就是有状态的,
无状态就是把信息存在cookie中,cookie是存在客户端的,也就是无状态。

无状态的好处很明显,不存在服务端,可以减少服务端的压力。
JWT是一个轻量级的鉴权框架,可以实现无状态登陆,一般结合RSA使用,RSA是一种非对称加密技术,分为公钥和私钥,公钥和私钥可以互相解密对方加密的东西,公钥可以发出去很多,但是私钥只能有一份,此处也不过多讲解RSA,之后会单独对RSA进行说明。

拿用户登录模块来说,用户登陆时,服务端首先要去数据库来判断这个用户是否正确,如果正确,那就用RSA生成的私钥进行加密,生成一个token,将token返回给用户,用户下次访问服务的时候,带着这个token,如果服务端用公钥能够解析成功,那就说明当前申请是OK的,没啥问题,解析不了,说明不是这个公钥对应的私钥加密形成的token,那就不让它登陆。

token分为三部分:头,载荷,签名。

标签:公钥,私钥,JWT,RSA,token,shiro,服务端
From: https://www.cnblogs.com/tenghao/p/16881131.html

相关文章

  • .netCore JWT配置 token验证
    1.安装Microsoft.AspNetCore.Authentication.JwtBearer2.在appsetting.json中,添加一个Jwt节点"Jwt":{"SecretKey":"[email protected]","Issuer":"......
  • 前后端session原理 jwt跨域认证机制 token jwt的应用
    jwt:是目前最流行的跨域认证解决机制 token:用户的信息通过token字符串的形式,保存在客户端浏览器中,服务器通过还原token的形式恢复用户身份jwt有三个部分组成:......
  • How JWT (JSON Web Token) authentication works?
    HowJWT(JSONWebToken)authenticationworks?https://www.idiotinside.com/2019/09/26/how-jwt-authentication-works/WhatisJWT(JSONWeb Token)?JSONWebTo......
  • ASP.NET Core教程-Configuration(配置)-JWT
    更新记录转载请注明出处:2022年11月10日发布。2022年11月8日从笔记迁移到博客。JWT基础JWT是什么(WhatisJWT)JSONWebToken(JWT)是目前最流行的跨域身份验证解决......
  • 使用jwt鉴权(jsonwebtoken)
    1.下载jsonwebtokennpmi-Sjsonwebtoken2.引用constjwt=require('jsonwebtoken');3.需要设置秘钥constsecretKey='3.14159263528542852651268541';4.设......
  • JWT笔记
    什么是JWT全程为“JsonWebToken”,其本质就是一个字符串,是将用户信息保存到一个Json字符串中,然后进行编码后得到token字符串,并且这个token带有签名信息,接收后可以校验......
  • JWT自学
    一:导入配置文件<!--JWT--><dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><ver......
  • ctfshow JWT总结
    一、基础知识:介绍:JSONWebToken(JWT)是用来进行跨域身份验证的一种方案。构成:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoidXNlciIsImlhdCI6MTY2NzgxMDA1MX0.bsJ......
  • JWT安全性剖析
    JWT基础概念详解简介JWT(JSONWebToken)是目前最流行的跨域认证解决方案,是一种基于Token的认证授权机制。从JWT的全称可以看出,JWT本身也是Token,一种规范化之后......
  • 在SpringBoot项目中使用shiro框架实现权限管理
    1、建立springboot项目目录结构这个样子的<hr>2、项目的jar包依赖<dependencies><!--整合shirosubject:用户securitymanager:管......