javascript - 網(wǎng)頁中,如何實(shí)時(shí)驗(yàn)證用戶身份?
問題描述
前提:用戶已經(jīng)經(jīng)過登錄驗(yàn)證這個(gè)環(huán)節(jié)。問題:那么用戶再向服務(wù)端獲取自己私有的數(shù)據(jù)時(shí),如何來驗(yàn)證他的身份呢?(備注:后端用的express框架)
問題解答
回答1:使用session 或者 json web token
回答2:cookie [http://wiki.jikexueyuan.com/project/node-lessons/cookie-session.html][1]session是基于cookie的服務(wù)端技術(shù)回答3:
session,把用戶id寫入session驗(yàn)證成功時(shí)req.session.user = user;
回答4:session!session可以存在服務(wù)器內(nèi)存或者redis這樣的緩存里。有成熟的第三方session庫,其中session可以存在redis/數(shù)據(jù)庫/本地。你可以這樣,將session存到redis中:
var session = require(’express-session’);var RedisStore = require(’connect-redis’)(session);app.use(session({ store: new RedisStore({host: CONF.REDIS_URL(),port: 6379 }), secret: ’keyboard cat’, resave: false, saveUninitialized: false, cookie: {maxAge: 14400000}}));回答5:
用sessionID做一個(gè)token,每次請(qǐng)求都檢查這個(gè)token
回答6:和后臺(tái)協(xié)商,調(diào)接口的時(shí)候,然后后臺(tái)去驗(yàn)證,他的身份
回答7:用戶驗(yàn)證通過之后會(huì)在后臺(tái)保存一定的信息來避免后期重復(fù)驗(yàn)證,以前常用的方法是 Session,Session 是基于 Cookie 的,后來逐漸發(fā)展了 Token 方式,使用 Token 來代替 Cookie 中的 Seesion-Id,作為后端判斷登錄用戶的依據(jù),再然后出現(xiàn)了 JWT(JSON Web Token)。
不過話說回來,如果確實(shí)存在非常重要需要特別謹(jǐn)慎的操作,應(yīng)該會(huì)有二次驗(yàn)證,比如付款的隨機(jī)短信密碼,以及各種安全 Token (或隨機(jī)密碼) App 等。最簡單的就是在登錄一定時(shí)間之后要求再次輸入密碼確認(rèn)進(jìn)行高安全性操作,比如管理員刪除重要數(shù)據(jù)之類的操作。
相關(guān)文章:
