1. 程式人生 > >淺談Token理解運用

淺談Token理解運用

壓力 靜態 alert 數據 是什麽 客戶端 使用 user 分享圖片

周末沒帶電腦,閑著也是閑著,出來分享一點東西,也當自己學習和鞏固了。

今天分享一下Token的理解,首先Token的定義是什麽?

概念

Token被翻譯成為(‘令牌‘,‘標記‘)在計算機中的含義也差不錯(‘計算機身份認證安全令牌‘),token其實說的更通俗點可以叫暗號,在一些數據傳輸之前,要先進行暗號的核對,不同的暗號被授權不同的數據操作。

傳統的Seeion驗證

Http協議進行數據的提交,服務器接收到用戶帳號和密碼進行驗證,在之後的一系列操作,因為http協議本身是一種無狀態的協議,再下一次請求必須重新發送一次帳號和密碼來進行認證。

根據http協議我們沒辦法做一個長期的驗證,為了讓應用能夠識別身份,我們需要在服務端進行身份的保存,所以使用session進行保存,這就是傳統的session認證。

缺點:session保存是使用的內存,當用戶量大的時候會對服務器增加很大的壓力。

分類

訪問令牌(Access Tokens)是Windows操作系統安全性的一個概念。一個訪問令牌包含了此登陸會話的安全信息。

會話令牌(Session token)用於解決表單重復提交問題,當客戶端提交一次之後(也提交了token並且匹配服務器token)服務器接受成功以後將更新token所以客戶端再次提交token將不再匹配。

接口靜態token

客戶端請求服務器將靜態token直接提交給服務器

服務器對令牌進行驗證並返回數據

Token創建

webapi接口token定義

public string GetToken()

{

string token=md5(‘control‘+‘action‘+‘自定義密鑰‘);

return token;

}

Token的使用

方式一:將token放入請求頭

$.ajax({

type: "POST",

headers: {

Accept: "application/json; charset=utf-8",

userToken: "" + userToken

},

url: "localhost/api/Home/GetString",

data: mydata,

contentType: "application/json",

dataType: "json",

success:function(data){

}

});

方式二:在請求之前設置request請求頭

$.ajax({

type: "POST",

url: "/index",

data: mydata,

contentType: "application/json",

dataType: "json",

beforeSend: function(request) {

request.setRequestHeader("Authorization", token);

},

success: function(data) {

alert(data.msg);

}

});

技術分享圖片

(簡單的數學)

(在下沒錢沒色,腎虛體弱還望各位大佬且行放過放過)

技術分享圖片

淺談Token理解運用