旅游信息網站開發(fā)背景站內關鍵詞排名優(yōu)化軟件
在前后端分離開發(fā)過程中,經常涉及權限驗證的問題,一般都是采用由服務端根據前端傳遞的用戶名和密碼,驗證成功后生成token,然后前端在訪問服務端接口時,再附帶token訪問。
如果服務端高頻次的解析token,進行內容驗證,則會大大降低接口性能,而采用內存或者redis進行合法的token緩存,通過字符匹配進行驗證,可以大幅提高效率,同時控制token緩存周期和緩存數量,按天進行更新,減少數據緩存量。
以下為nodejs實現的核心代碼,token生成和驗證過程,需要自己定義。
//以當天為有效期,緩存合法的token,避免重復解密計算var cacheToken = {};function TokenToID(_token) {let _rt = {success:false,msg:""};var _dt = moment(Date.now()).format('YYYY-MM-DD');if(cacheToken[_dt]&&(cacheToken[_dt].length<10000)){let _item = cacheToken[_dt].find(obj=>obj.token==_token);if(_item&&_item.id){_rt = {success:true,msg:_item.id};}else{let tu = new TokenUtil(_token);let _res = tu.verifyToken();