Skip to content

Commit e4dbc8d

Browse files
committed
[refractor]认证授权部分图片地址
1 parent 0c06821 commit e4dbc8d

12 files changed

+14
-13
lines changed

README.md

+6-3
Original file line numberDiff line numberDiff line change
@@ -194,16 +194,16 @@
194194

195195
#### JWT
196196

197-
1. [JWT 优缺点分析以及常见问题解决方案](docs/system-design/authority-certification/JWT-advantages-and-disadvantages.md)
197+
1. [JWT 优缺点分析以及常见问题解决方案](docs/system-design/authority-certification/JWT优缺点分析以及常见问题解决方案.md)
198198
2. [适合初学者入门 Spring Security With JWT 的 Demo](https://github.com/Snailclimb/spring-security-jwt-guide)
199199

200200
#### SSO(单点登录)
201201

202-
SSO(Single Sign On)即单点登录说的是用户登陆多个子系统的其中一个就有权访问与其相关的其他系统。举个例子我们在登陆了京东金融之后,我们同时也成功登陆京东的京东超市、京东家电等子系统。相关阅读:**[SSO 单点登录看这篇就够了!](docs/system-design/authority-certification/sso.md)**
202+
**SSO(Single Sign On)** 即单点登录说的是用户登陆多个子系统的其中一个就有权访问与其相关的其他系统。举个例子我们在登陆了京东金融之后,我们同时也成功登陆京东的京东超市、京东家电等子系统。相关阅读:**[SSO 单点登录看这篇就够了!](docs/system-design/authority-certification/SSO单点登录看这一篇就够了.md)**
203203

204204
### 分布式
205205

206-
[分布式相关概念入门](docs/system-design/website-architecture/分布式.md)
206+
[分布式相关概念入门](docs/system-design/distributed-system/分布式.md)
207207

208208
#### 搜索引擎
209209

@@ -238,6 +238,7 @@ SSO(Single Sign On)即单点登录说的是用户登陆多个子系统的其中
238238
### 微服务
239239

240240
1. [ 大白话入门 Spring Cloud](docs/system-design/micro-service/spring-cloud.md)
241+
2. [微服务/分布式大厂真实面试问题解答](https://xiaozhuanlan.com/topic/2895047136)
241242

242243
### 高并发
243244

@@ -271,6 +272,8 @@ SSO(Single Sign On)即单点登录说的是用户登陆多个子系统的其中
271272

272273
CAP 也就是 Consistency(一致性)、Availability(可用性)、Partition Tolerance(分区容错性) 这三个单词首字母组合。
273274

275+
276+
274277
#### BASE理论
275278

276279
**BASE****Basically Available(基本可用)****Soft-state(软状态)****Eventually Consistent(最终一致性)** 三个短语的缩写。BASE理论是对CAP中一致性和可用性权衡的结果,其来源于对大规模互联网系统分布式实践的总结,是基于CAP定理逐步演化而来的,它大大降低了我们对系统的要求。

docs/system-design/authority-certification/basis-of-authority-certification.md

+8-10
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66

77
**认证 (Authentication):** 你是谁。
88

9-
![](../pictures/authentication.png)
9+
![](./images/basis-of-authority-certification/authentication.png)
1010

1111
**授权 (Authorization):** 你有权限干什么。
1212

13-
![](../pictures/authorization.png)
13+
![](./images/basis-of-authority-certification/authorization.png)
1414

1515
稍微正式点(啰嗦点)的说法就是:
1616

@@ -21,7 +21,7 @@
2121

2222
## 2. 什么是Cookie ? Cookie的作用是什么?如何在服务端使用 Cookie ?
2323

24-
![](../pictures/cookie-sessionId.png)
24+
![](./images/basis-of-authority-certification/cookie-sessionId.png)
2525

2626
### 2.1 什么是Cookie ? Cookie的作用是什么?
2727

@@ -90,7 +90,7 @@ public String readAllCookies(HttpServletRequest request) {
9090

9191
很多时候我们都是通过 SessionID 来实现特定的用户,SessionID 一般会选择存放在 Redis 中。举个例子:用户成功登陆系统,然后返回给客户端具有 SessionID 的 Cookie,当用户向后端发起请求的时候会把 SessionID 带上,这样后端就知道你的身份状态了。关于这种认证方式更详细的过程如下:
9292

93-
![Session Based Authentication flow](../pictures/Session-Based-Authentication-flow.png)
93+
![Session Based Authentication flow](./images/basis-of-authority-certification/Session-Based-Authentication-flow.png)
9494

9595
1. 用户向服务器发送用户名和密码用于登陆系统。
9696
2. 服务器验证通过后,服务器为用户创建一个 Session,并将 Session信息存储 起来。
@@ -105,7 +105,7 @@ public String readAllCookies(HttpServletRequest request) {
105105

106106
花了个图简单总结了一下Session认证涉及的一些东西。
107107

108-
<img src="../pictures/session-cookie-intro.png" style="zoom:50%;" />
108+
<img src="./images/basis-of-authority-certification/session-cookie-intro.png" style="zoom:50%;" />
109109

110110
另外,Spring Session提供了一种跨多个应用程序或实例管理用户会话信息的机制。如果想详细了解可以查看下面几篇很不错的文章:
111111

@@ -143,9 +143,7 @@ public String readAllCookies(HttpServletRequest request) {
143143
144144
XSS中攻击者会用各种方式将恶意代码注入到其他用户的页面中。就可以通过脚本盗用信息比如cookie。
145145

146-
推荐阅读:
147-
148-
1. [如何防止CSRF攻击?—美团技术团队](https://tech.meituan.com/2018/10/11/fe-security-csrf.html)
146+
推荐阅读:[如何防止CSRF攻击?—美团技术团队](https://tech.meituan.com/2018/10/11/fe-security-csrf.html)
149147

150148
## 6. 什么是 Token?什么是 JWT?如何基于Token进行身份验证?
151149

@@ -167,7 +165,7 @@ JWT 由 3 部分构成:
167165

168166
在基于 Token 进行身份验证的的应用程序中,服务器通过`Payload``Header`和一个密钥(`secret`)创建令牌(`Token`)并将 `Token` 发送给客户端,客户端将 `Token` 保存在 Cookie 或者 localStorage 里面,以后客户端发出的所有请求都会携带这个令牌。你可以把它放在 Cookie 里面自动发送,但是这样不能跨域,所以更好的做法是放在 HTTP Header 的 Authorization字段中:` Authorization: Bearer Token`
169167

170-
![Token Based Authentication flow](../pictures/Token-Based-Authentication.png)
168+
![Token Based Authentication flow](./images/basis-of-authority-certification/Token-Based-Authentication.png)
171169

172170
1. 用户向服务器发送用户名和密码用于登陆系统。
173171
2. 身份验证服务响应并返回了签名的 JWT,上面包含了用户是谁的内容。
@@ -194,7 +192,7 @@ OAuth 2.0 比较常用的场景就是第三方登录,当你的网站接入了
194192

195193
微信支付账户相关参数:
196194

197-
<img src="../pictures/微信支付-fnglfdlgdfj.png" style="zoom:50%;" />
195+
<img src="./images/basis-of-authority-certification/微信支付-fnglfdlgdfj.png" style="zoom:50%;" />
198196

199197
**推荐阅读:**
200198

0 commit comments

Comments
 (0)