水一篇文章-SpringSecurity+jwt

最近在忙的事情

因为公司的工作任务,我目前在做一个防火墙管理端平台的一些api引入,我们公司是跟奇安信有合作,工作内容就是前端vue页面上拼字符串,用的是组件化开发elmentiUI,天天就是看饿了吗官方文档去写,然后看接口文档,拼接字符串,后端调用通用方法,可以说,拼JSON字符串拼的我人都傻了

为什么去看SpringSecurity-jwt

因为之前在老东家,我们做的管理平台端很简单,因为用户体量小,都是偏向业务,而判断用户什么的,都存在了session里,比较简单,我也没有仔细看,天天只是crud,使用中间件,来到新单位,我发现技术盲点了,对。。。。就是token,我不太清楚,所以准备恶补!

Jwt认证授权-操作认证

用户 ----》角色 ------》权限
用户和角色一对多,角色对权限是一对一,Security根据不同的角色授权
RBAC —》基于权限的一种控制
Jwt介绍
JWT是 Json Web Token 的缩写。它是基于 RFC 7519 标准定义的一种可以安全传输的 小巧 和 自包含 的JSON对象。由于数据是使用数字签名的,所以是可信任的和安全的。JWT可以使用HMAC算法对secret进行加密或者使用RSA的公钥私钥对来进行签名。
Jwt的好处 —无状态
每次进行http请求,在请求头中都可以加入,里面可以存放各种用户信息,客户端存放
如果服务宕机,也可以进行请求,可以应对于各种多服务场景,而且比较安全(通过自己加密钥)然后通过自己加的密钥去解析,比较安全
结构:
JWT包含了使用 . 分隔的三部分:
1.Header 头部,包含了两部分:token类型和采用的加密算法。
2.Payload 负载,Token的第二部分是负载,它包含了claim, Claim是一些实体(通常指的用户)的状态和额外的元数据。
3.Signature 签名,创建签名需要使用编码后的header和payload以及一个秘钥,使用header中指定签名算法进行签名。
让我们用一张图,大概梳理下这个流程(看视频截取下来的哈哈)
在这里插入图片描述

SpringSecurity的概念

Spring系列,直接与SpringBoot整合比较方便
概念:其实构成就是拦截器,一推filter,各种链路,但是我们使用就直接实现它的接口去重写方法就好

代码篇

pom.xml

      <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
    <dependency>
            <groupId>com.auth0</groupId>
            <artifactId>java-jwt</artifactId>
            <version>3.10.1</version>
        </dependency>
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt</artifactId>
            <version>0.9.1</version>
        </dependency>
未完待续—今天太困了,明天写,最近打算搞一个二手苹果本,我这个笔记本内存太小了,还不能扩容,板载内存,我吐了,没钱啊!!!努力搬砖
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值