成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

詳解SpringSecurity的HttpBasic登錄驗證模式-創(chuàng)新互聯(lián)

一、HttpBasic模式的應(yīng)用場景
HttpBasic登錄驗證模式是Spring Security實現(xiàn)登錄驗證最簡單的一種方式,也可以說是最簡陋的一種方式。它的目的并不是保障登錄驗證的絕對安全,而是提供一種“防君子不防小人”的登錄驗證。

創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、安圖網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計商城網(wǎng)站開發(fā)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為安圖等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

就好像是我小時候?qū)懭沼?,都買一個帶小鎖頭的日記本,實際上這個小鎖頭有什么用呢?如果真正想看的人用一根釘子都能撬開。它的作用就是:某天你的父母想偷看你的日記,拿出來一看還帶把鎖,那就算了吧,怪麻煩的。

舉一個我使用HttpBasic模式的進行登錄驗證的例子:我曾經(jīng)在一個公司擔(dān)任部門經(jīng)理期間,開發(fā)了一套用于統(tǒng)計效率、分享知識、生成代碼、導(dǎo)出報表的Http接口。純粹是為了工作中提高效率,同時我又有一點點小私心,畢竟各部之間是有競爭的,所以我給這套接口加上了HttpBasic驗證。公司里隨便一個技術(shù)人員,最多只要給上一兩個小時,就可以把這個驗證破解了。說白了,這個工具的數(shù)據(jù)不那么重要,加一道鎖的目的就是不讓它成為公開數(shù)據(jù)。如果有心人破解了,真想看看這里面的數(shù)據(jù),其實也無妨。這就是HttpBasic模式的典型應(yīng)用場景。

二、spring boot2.0整合Spring security
spring boot 2,x版本maven方式引入Spring security坐標。

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

三、HttpBasic登錄認證模式
如果使用的Spring Boot版本為1.X版本,依賴的Security 4.X版本,那么就無需任何配置,啟動項目訪問則會彈出默認的httpbasic認證.

我們現(xiàn)在使用的是spring boot2.0版本(依賴Security 5.X版本),HttpBasic不再是默認的驗證模式,在spring security 5.x默認的驗證模式已經(jīng)是表單模式。所以我們要使用Basic模式,需要自己調(diào)整一下。并且security.basic.enabled已經(jīng)過時了,所以我們需要自己去編碼實現(xiàn)。

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

   @Override
   protected void configure(HttpSecurity http) throws Exception {
      http.httpBasic()//開啟httpbasic認證
      .and()
      .authorizeRequests()
      .anyRequest()
      .authenticated();//所有請求都需要登錄認證才能訪問
   }

}

啟動項目,在項目后臺有這樣的一串日志打印,冒號后面的就是默認密碼。

Using generated security password: 0cc59a43-c2e7-4c21-a38c-0df8d1a6d624

我們可以通過瀏覽器進行登錄驗證,默認的用戶名是user.(下面的登錄框不是我們開發(fā)的,是HttpBasic模式自帶的)
詳解Spring Security的HttpBasic登錄驗證模式
當然我們也可以通過application.yml指定配置用戶名密碼

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

四、HttpBasic模式的原理說明
詳解Spring Security的HttpBasic登錄驗證模式
1.首先,HttpBasic模式要求傳輸?shù)挠脩裘艽a使用Base64模式進行加密。如果用戶名是?"admin"??,密碼是“ admin”,則將字符串"admin:admin"?使用Base64編碼算法加密。加密結(jié)果可能是:YWtaW46YWRtaW4=。

2.然后,在Http請求中使用Authorization作為一個Header,“Basic YWtaW46YWRtaW4=“作為Header的值,發(fā)送給服務(wù)端。(注意這里使用Basic+空格+加密串)

3.服務(wù)器在收到這樣的請求時,到達BasicAuthenticationFilter過濾器,將提取“ Authorization”的Header值,并使用用于驗證用戶身份的相同算法Base64進行解碼。

4.解碼結(jié)果與登錄驗證的用戶名密碼匹配,匹配成功則可以繼續(xù)過濾器后續(xù)的訪問。

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

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當前題目:詳解SpringSecurity的HttpBasic登錄驗證模式-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://jinyejixie.com/article32/ccscsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計搜索引擎優(yōu)化網(wǎng)站設(shè)計、域名注冊品牌網(wǎng)站建設(shè)、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)
古田县| 雅江县| 巴林左旗| 瑞昌市| 霍山县| 沙湾县| 高平市| 鄄城县| 拜泉县| 安义县| 天镇县| 沙湾县| 竹溪县| 萝北县| 潞城市| 贵德县| 炉霍县| 新泰市| 台北市| 东乡县| 东乌珠穆沁旗| 泸西县| 阜宁县| 商都县| 若尔盖县| 衢州市| 黄平县| 刚察县| 鲜城| 太康县| 阿坝县| 金堂县| 德昌县| 宜川县| 庄河市| 德惠市| 山东| 广河县| 景谷| 兴义市| 潍坊市|