Basic認證

Basic認證是客戶端與服務器進行請求時参歹,允許通過用戶名和密碼實現(xiàn)的一種身份認證方式

如果一個頁面需要Basic認證颊咬,它會檢查請求報文頭中的Authorization字段的內(nèi)容万伤,該字段的值由認證方式和加密值構成,如下所示:

>GET/HTTP/1.1
>Authorization: Basic dXNlcjpwYXNz
>User-Agent:curl/7.24.0 (x86_ 64-apple一darwin12.0) libcurl/7.24.0 OpenSSL/0.g.8r zlib/1.2.5
>Host:www.baidu.com
>Accept:*/*

在Basic認證中月劈,它會將用戶和密碼部分組合:"username"+":"+"password"度迂。然后進行Base64編碼藤乙,如下所示:

var encode=function(username,password){
return new Buffer(username+’:’+password).toString(’base64');
};

如果用戶首次訪問該網(wǎng)頁,URL地址中也沒攜帶認證內(nèi)容惭墓,那么瀏覽器會響應一個401未授權的狀態(tài)碼坛梁,如下所示:

function (req, res){
  var auth = req.headers[’authorization'] || ' ';
  var parts = auth.split(' ');
  var method = parts[0] ||' ';//Basic
  var encoded = parts[1] ||' ';//dXNlcjpwYXNz
  var decoded = new Buffer(encoded,’base64').toString(’ut仁8').split(":”);
  var user = decoded[0];//user
  var pass = decoded[1];//pass
  if(!checkUser(user, pass)){
    res.setHeader('WWW-Authenticate',’Basic realm="Secure Area"’);
    res.writeHead(401);
    res.end();
  }else{
    handle(req, res);
  }
}

在上面的代碼中腊凶,響應頭中的WWW-Authenticate字段告知瀏覽器采用什么樣的認證和加密方式划咐。一般而言,未認證的情況下钧萍,瀏覽器會彈出對話框進行交互式提交認證信息.

瀏覽器彈出的交互式提交認證信息的對話框

當認證通過褐缠,服務器端響應200狀態(tài)碼之后,瀏覽器會保存用戶名和密碼口令风瘦,在后續(xù)的請求中都攜帶上Authorization信息队魏。

雖然經(jīng)過Base64加密后在網(wǎng)絡中傳送,但是這幾乎是明文万搔,十分危險胡桨,一般只有在HTTPS情況下使用。也可加入服務器端隨機數(shù)來保護認證過程

參考文獻:

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蟹略,一起剝皮案震驚了整個濱河市登失,隨后出現(xiàn)的幾起案子遏佣,更是在濱河造成了極大的恐慌挖炬,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件状婶,死亡現(xiàn)場離奇詭異意敛,居然都是意外死亡,警方通過查閱死者的電腦和手機膛虫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門草姻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人稍刀,你說我怎么就攤上這事撩独。” “怎么了账月?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵综膀,是天一觀的道長。 經(jīng)常有香客問我局齿,道長剧劝,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任抓歼,我火速辦了婚禮讥此,結果婚禮上拢锹,老公的妹妹穿的比我還像新娘。我一直安慰自己萄喳,他們只是感情好卒稳,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著他巨,像睡著了一般展哭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上闻蛀,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天匪傍,我揣著相機與錄音,去河邊找鬼觉痛。 笑死役衡,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的薪棒。 我是一名探鬼主播手蝎,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼俐芯!你這毒婦竟也來了棵介?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤吧史,失蹤者是張志新(化名)和其女友劉穎邮辽,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贸营,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡吨述,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了钞脂。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片揣云。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖冰啃,靈堂內(nèi)的尸體忽然破棺而出邓夕,到底是詐尸還是另有隱情,我是刑警寧澤阎毅,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布焚刚,位于F島的核電站,受9級特大地震影響净薛,放射性物質(zhì)發(fā)生泄漏汪榔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望痴腌。 院中可真熱鬧雌团,春花似錦、人聲如沸士聪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽剥悟。三九已至灵寺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間区岗,已是汗流浹背略板。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留慈缔,地道東北人叮称。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像藐鹤,于是被迫代替她去往敵國和親瓤檐。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理娱节,服務發(fā)現(xiàn)挠蛉,斷路器,智...
    卡卡羅2017閱讀 134,629評論 18 139
  • 一肄满、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,333評論 6 152
  • 前面兩篇文章中關于 HTTP 相關知識基本上介紹的差不多了谴古,這篇文章是對 HTTP 協(xié)議的補充,主要介紹以下三點內(nèi)...
    lijiankun24閱讀 1,305評論 2 3
  • Http協(xié)議詳解 標簽(空格分隔): Linux 聲明:本片文章非原創(chuàng)悄窃,內(nèi)容來源于博客園作者MIN飛翔的HTTP協(xié)...
    Sivin閱讀 5,210評論 3 82
  • 世界上有這樣一群人 他們穿越沙漠看暴雨 親近大海輕吻鯊魚 熊熊山河茫茫人海 他們把平凡生命活得深遠流長 我是小極 ...
    小極聊旅行閱讀 779評論 0 8