在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Java  HTML/ webapp 單頁(yè)面token的疑問(wèn)?

webapp 單頁(yè)面token的疑問(wèn)?

我說(shuō)了兩個(gè)頁(yè)面,不是一個(gè)頁(yè)面,兩個(gè),兩個(gè),兩個(gè)。重要的事情說(shuō)三次。我說(shuō)了進(jìn)入管理頁(yè)面以后驗(yàn)證我會(huì),我說(shuō)的是從登錄頁(yè)面到管理頁(yè)面(注意,登錄頁(yè)面是獨(dú)立的頁(yè)面,跟管理頁(yè)面不是一個(gè)頁(yè)面,完全分開(kāi)的,完全分開(kāi)的,完全分開(kāi)的)

我們都知道使用jsonWebToken的場(chǎng)景是手動(dòng)發(fā)請(qǐng)求在header中加Authorization來(lái)判斷,我想問(wèn)的是,

我們比如后臺(tái)管理頁(yè)面是一個(gè)整的頁(yè)面,后臺(tái)登錄頁(yè)面是一個(gè)整的頁(yè)面,如果是token檢驗(yàn)的話,比如我訪問(wèn)content(管理頁(yè)面:沒(méi)有登錄的情況下)如何去做識(shí)別,我們都知道session的話,在訪問(wèn)這個(gè)url的時(shí)候,比如管理頁(yè)面的地址是http://localhost:3000/admin/content,在服務(wù)器上面就可以知道有沒(méi)有登錄,沒(méi)有登錄直接跳轉(zhuǎn)或者改url輸出登錄頁(yè)面的靜態(tài)頁(yè)面

var Koa = require('koa');
var static = require('koa-static');//遇到靜態(tài)頁(yè)面直接輸出了
app.use(static(
  path.join( __dirname,  './static')
))

換做是token的話,我們都知道服務(wù)器上后端都做靜態(tài)文件的處理,遇到靜態(tài)文件直接輸出了,我就算是在最前面放置一個(gè)中間件也不能去拿本地存的token啊,因?yàn)橛脩羰侵苯釉L問(wèn)的靜態(tài)文件,而不是已經(jīng)登錄以后的鑒權(quán)。

ps:?jiǎn)栴}就在于從登錄頁(yè)到管理頁(yè),登錄成功時(shí)候后臺(tái)返回信息里面加個(gè)token直接存本地,然后跳轉(zhuǎn)到管理頁(yè)面,這個(gè)可以,但是用戶直接略過(guò)登錄頁(yè)訪問(wèn)管理頁(yè)呢???服務(wù)器沒(méi)辦法在訪問(wèn)到這個(gè)靜態(tài)頁(yè)面的時(shí)候就知道他到底有沒(méi)有登錄。

怎么辦???求思路

回答
編輯回答
鐧簞噯

1.token的校驗(yàn)可以在客戶端校驗(yàn),在每個(gè)頁(yè)面進(jìn)入的時(shí)候,判斷有沒(méi)有token,如果有,則進(jìn)入頁(yè)面
2.進(jìn)入頁(yè)面之后一般會(huì)調(diào)用api或者向后端發(fā)起請(qǐng)求,后端在接受請(qǐng)求的時(shí)候做權(quán)限的判斷

2017年1月23日 07:07
編輯回答
護(hù)她命

token驗(yàn)證就是你直接修改瀏覽器地址,這時(shí)候你自己需要判斷本地有沒(méi)有token,沒(méi)有就直接跳轉(zhuǎn)到登錄頁(yè)。token如果過(guò)期的話,這時(shí)候后臺(tái)肯定會(huì)返回一個(gè)token過(guò)期的狀態(tài)碼,這時(shí)需要重新登錄還是返回一個(gè)新的token需要根據(jù)你的業(yè)務(wù)需求來(lái)具體處理。

2017年1月27日 13:50
編輯回答
脾氣硬

最近也在用node和前端搭配所以說(shuō)2句,我這邊是react和node,node只做接口處理,token是和你一樣的處理方式,但是如果token過(guò)期,直接去了其他頁(yè)面跳過(guò)登陸頁(yè),在那個(gè)頁(yè)面請(qǐng)求了任何接口我這邊都會(huì)返回token過(guò)期給前端,前端根據(jù)這個(gè)信息,直接返回到登陸頁(yè),希望能幫到你,這是我最近玩的一個(gè)項(xiàng)目地址node-koa

2017年2月17日 18:06
編輯回答
尐懶貓

比如 vue 可以通過(guò)鉤子函數(shù) router.beforeEnter() 在進(jìn)入路由之前,判斷本地是否有token(這個(gè)token就是登錄成功才存到本地的),如果存在就直接 next() 進(jìn)入 content 頁(yè)面,如果不存在就 next('/login') 跳到登錄頁(yè)面,就不會(huì)先進(jìn)入content里請(qǐng)求不到token再跳登錄這么體驗(yàn)不好的過(guò)程。

2017年1月9日 04:21
編輯回答
情殺

額,如果你用 express 框架的話,我可以告訴你用 express-session中間件,當(dāng)然了,koa 也應(yīng)該有對(duì)應(yīng)的中間件,你可以找找。就是將用戶信息存到后臺(tái),用的話可以直接取。希望可以幫到你

2018年6月19日 02:00