成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

HttpBasic 認(rèn)證模式活該被放棄

開發(fā) 前端
為什么是最簡(jiǎn)陋的?這種模式用來(lái)糊弄普通用戶可以,但是稍微懂點(diǎn)技術(shù)的用戶分分鐘就可以將其破解,因?yàn)榈讓硬⑽醋鋈魏蔚陌踩脑O(shè)置,僅僅是將用戶名:密碼做了簡(jiǎn)單的base64加密傳遞給服務(wù)端,base64又是一種可逆的算法。

今天來(lái)聊一聊spring security中的一種經(jīng)典認(rèn)證模式HttpBasic,在5.x版本之前作為Spring Security默認(rèn)認(rèn)證模式,但是在5.x版本中被放棄了,默認(rèn)的是form login認(rèn)證模式

HttpBasic模式的應(yīng)用場(chǎng)景

HttpBasic登錄驗(yàn)證模式是Spring Security實(shí)現(xiàn)登錄驗(yàn)證最簡(jiǎn)單的一種方式,也可以說(shuō)是最簡(jiǎn)陋的一種方式。

為什么是最簡(jiǎn)陋的?這種模式用來(lái)糊弄普通用戶可以,但是稍微懂點(diǎn)技術(shù)的用戶分分鐘就可以將其破解,因?yàn)榈讓硬⑽醋鋈魏蔚陌踩脑O(shè)置,僅僅是將用戶名:密碼做了簡(jiǎn)單的base64加密傳遞給服務(wù)端,base64又是一種可逆的算法。

因此 HttpBasic 的應(yīng)用場(chǎng)景非常少,對(duì)于不重要的數(shù)據(jù),用戶比較少但是又想設(shè)置一重障礙的時(shí)候就可以考慮使用這種

整合Spring Security 搞一把

雖然這種認(rèn)證模式不太重要,但是還是要了解,對(duì)于后面的學(xué)習(xí)至關(guān)重要,下面搭建一個(gè)項(xiàng)目演示一下

1. 添加maven依賴

直接添加Spring Security的依賴,如下:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>

2. Spring Security 添加配置

由于陳某使用的是Spring Boot 2.x版本,此時(shí)的Spring Security 是5.x版本,默認(rèn)的認(rèn)證方式是form表單認(rèn)證,因此需要配置一下HttpBasic認(rèn)證模式,代碼如下:

/**
* @author 公眾號(hào):碼猿技術(shù)專欄
* @url: www.java-family.cn
* @description Spring Security的配置類
*/
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.httpBasic()//開啟httpbasic認(rèn)證
.and()
.authorizeRequests()
.anyRequest()
.authenticated();//所有請(qǐng)求都需要登錄認(rèn)證才能訪問
}
}

啟動(dòng)項(xiàng)目,在項(xiàng)目后臺(tái)有這樣的一串日志打印,冒號(hào)后面的就是默認(rèn)密碼。

Using generated security password: 00af0f93-7103-4c8a-87a4-23a050a4285c

我們可以通過瀏覽器進(jìn)行登錄驗(yàn)證,默認(rèn)的用戶名是user.(下面的登錄框不是我們開發(fā)的,是HttpBasic模式自帶的)

圖片

當(dāng)然我們也可以通過application.yml指定配置用戶名密碼,配置如下:

spring:
security:
user:
name: admin
password: admin

HttpBasic的原理

整個(gè)流程如下圖:

圖片

  • 首先,HttpBasic模式要求傳輸?shù)挠脩裘艽a使用Base64模式進(jìn)行加密。如果用戶名是admin? ,密碼是admin,則將字符串a(chǎn)dmin:admin使用Base64編碼算法加密。加密結(jié)果可能是:YWtaW46YWRtaW4=。
  • 然后,在Http請(qǐng)求中使用Authorization作為一個(gè)Header,Basic YWtaW46YWRtaW4=作為Header的值,發(fā)送給服務(wù)端。(注意這里使用Basic+空格+加密串)
  • 服務(wù)器在收到這樣的請(qǐng)求時(shí),到達(dá)BasicAuthenticationFilter過濾器,將提取“ Authorization”的Header值,并使用用于驗(yàn)證用戶身份的相同算法Base64進(jìn)行解碼。
  • 解碼結(jié)果與登錄驗(yàn)證的用戶名密碼匹配,匹配成功則可以繼續(xù)過濾器后續(xù)的訪問。

所以,HttpBasic模式真的是非常簡(jiǎn)單又簡(jiǎn)陋的驗(yàn)證模式,Base64的加密算法是可逆的,你知道上面的原理,分分鐘就破解掉。我們完全可以使用PostMan工具,發(fā)送Http請(qǐng)求進(jìn)行登錄驗(yàn)證。

圖片

整個(gè)流程都在BasicAuthenticationFilter#doFilterInternal()這個(gè)方法中,有興趣的可以去看看。

責(zé)任編輯:武曉燕 來(lái)源: 碼猿技術(shù)專欄
相關(guān)推薦

2015-10-20 09:07:44

2009-08-26 16:17:10

選華為認(rèn)證放棄思科

2019-05-31 09:32:02

CopyOnWriteKafka內(nèi)核

2020-04-16 10:02:47

獵豹移動(dòng)谷歌下架

2013-12-27 15:42:34

小米閃購(gòu)

2012-06-25 09:46:02

Java

2025-05-13 09:53:42

Vue3JavaScript開發(fā)

2018-06-14 00:36:18

物聯(lián)網(wǎng)工業(yè)4.0農(nóng)業(yè)

2012-10-16 10:28:47

微軟Windows 8

2013-01-17 14:41:33

Feed Dashbo

2015-08-14 13:34:55

斯諾登NSA

2018-03-30 10:28:23

2023-03-29 13:06:36

2009-07-22 08:55:11

Windows 7XP模式64位操作系統(tǒng)

2019-03-22 09:00:17

比爾·蓋茨AI教育和醫(yī)療

2014-09-18 10:01:53

Linux

2024-07-03 13:32:28

2023-12-14 17:31:10

SQL表格模型功能

2023-01-09 07:50:29

開源開發(fā)者項(xiàng)目
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美日本韩国一区二区 | 久久国产高清视频 | 欧美日韩在线一区二区 | 亚卅毛片 | 亚洲精品久久久久中文字幕欢迎你 | 日韩国产精品一区二区三区 | 在线观看成年人视频 | 天天操天天干天天透 | 国产福利一区二区 | 欧美精品一区二区三区四区 在线 | 欧美视频一级 | 天天视频一区二区三区 | 麻豆久久久久久久久久 | 日韩一区二区三区av | 久久成人免费视频 | 欧美国产精品一区二区三区 | 日韩精品成人 | 精品免费国产视频 | 97精品超碰一区二区三区 | 日韩不卡在线 | 黄网站免费观看 | 久热国产精品视频 | 在线电影日韩 | 精品国产精品国产偷麻豆 | 在线中文字幕av | 天天综合久久 | 日韩伦理一区二区 | 自拍偷拍3p | 日本精品裸体写真集在线观看 | 黄色福利| 日韩中文字幕一区 | 69av网 | 亚洲精品小视频在线观看 | 日韩精品成人 | 日日天天| 午夜小视频在线播放 | www.99热.com| 99免费精品视频 | 日韩国产一区二区三区 | 国产一区二区 | 亚洲九色 |