淺談Token理解運用
周末沒帶電腦,閑著也是閑著,出來分享一點東西,也當自己學習和鞏固了。
今天分享一下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理解運用