微服务安全认证概览

本文深入探讨微服务架构下的安全认证机制,重点讲解JWT(JSON Web Token)的工作原理及特性,包括其组成、签名算法及如何防止Token被篡改。同时,介绍CORS(跨域资源共享)机制,对比JSONP,解释其支持多种HTTP请求类型的优势。最后,概述Spring Security框架在微服务安全中的应用,包括身份认证和授权的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微服务安全认证概览

JWT - 网络安全

JWT 介绍

  • JWT 全称 —— JSON Web Token
  • JWT 主要用于身份认证和信息加密

JWT 特性

  • JWT 可以携带数据进行传输,方便后端使用
  • JWT 可以对传输数据进行签名,增加安全性

JWT组成

组成作用内容示例
Header(头)记录令牌类型、签名的算法等{“alg”:“HS256”, “typ”:“JWT”}
Payload(有效载荷)携带一些用户信息{“userId”:“1”, “username”: “damu”}
Signature(签名)防止Token被篡改、确保安全性计算出来的签名,一个字符串

Token 公式

Token = Base64(Header).Base64(Payload).Base64(Signature)

Signature = Header指定的签名算法(Base64(Header).Base64(Payload), 秘钥)

CORS - 跨域资源共享

概念

跨域资源共享(CORS),亦译为跨域资源共享,是一份浏览器技术的规范,提供了 Web 服务从不同网域传来沙盒脚本的方法,以避开浏览器的同源策略,是 JSONP 模式的现代版。与 JSONP 不同,CORS 除了 GET 请求方法以外也支持其他的 HTTP 请求。用 CORS 可以让网页设计师用一般的 XMLHttpRequest,这种方式的错误处理比 JSONP 要来的好。另一方面,JSONP 可以在不支持 CORS 的老旧浏览器上运作。现代的浏览器都支持 CORS。

简单来说即:

  • 跨域资源共享: Cross-origin resource sharing
  • 域: 当一个请求的协议、域名和端口三者之一不同即为跨域
  • JSONP只支持GET请求,CORS支持所有类型的HTTP请求。JSONP的优势在于支持老式浏览器,以及可以向不支持CORS的网站请求数据。

CORS 请求类型

浏览器将 CORS 请求分成两类:简单请求(simple request)和非简单请求(not-so-simple request)。

简单请求一般包括下面两种情况:

情况描述
请求方法请求方法为:HEAD 或 GET 或 POST;
HTTP 头信息HTTP 头信息不超出以下几种字段:Accept, Accept-Language, Content-Language,Last-Event-ID, Content-Type:只限于三个值 application/x-www-form-urlencodedmultipart/form-datatext/plain

SpringSecurity - 服务安全

SpringSecurity 概览

  • SpringCloud 默认可以使用 SpringSecurity 进行身份认证
  • Eureka Server 可以使用 SpringSecurity 建立安全连接
  • SpringCloud 新版默认会开启 CSRF 防御, 会导致一些错误

SpringSecurity简介

Spring Security是为基于Spring的应用程序提供声明式安全保护的安全性框架,它能够在web请求级别和方法调用级别处理身份认证和授权。由于是基于Spring框架,它充分地利用了依赖注入和面向切面技术。Spring Security的最初版本就不在这里介绍了,从最新版本3.2说起:(但是大家也别忘记哟,Spring Security的最初版本名叫Acegi Security),Spring Security从两个角度来解决安全性问题,它使用Servlet规范中的Filter保护web请求并限制URL级别的访问,通过Spring AOP保护方法调用

认证和授权

应用程序的两个主要区域是认证和授权(访问控制)。这两个主要区域是Spring Security的两个目标。

  • 认证(Authentication)

认证,是建立一个他声明的主体的过程(一个主体一般是指用户,设备或一些可以在你的应用程序中执行的其他系统)。

  • 授权(Authorization)

授权,是指确定一个主体是否允许在你的应用程序执行一个动作的过程。为了抵达需要授权的点,主体的身份已经有认证过程建立。


end

如有问题,请留言或者发送邮件,感谢您的阅读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大痴小乙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值