Express中的身份認證

2021-10-06 18:03:57 字數 1951 閱讀 8170

由於 cookie 是儲存在瀏覽器中的,而且瀏覽器也提供了讀寫 cookie 的 api,因此 cookie 很容易被偽造,不具有安全

性。因此不建議伺服器將重要的隱私資料,通過 cookie 的形式傳送給瀏覽器。

注意:千萬不要使用 cookie 儲存重要且隱私的資料!比如使用者的身份資訊、密碼等。

// 匯入session中介軟體

var session =

require

('express-session'

)// 配置session中介軟體

use(

session()

)

向session中儲存資料post

('/api/login'

,(req, res)

=>)}

req.session.user = req.body // 將使用者的資訊,儲存到session中

req.session.islogin = req.body // 將使用者的登陸狀態,儲存到session中

res.

send(}

)})從session中取資料

// 獲取使用者姓名的介面

get(

'/api/username'

,(req, res)

=>)}

res.

send()

})

清空sessionpost

('/api/logout'

,(req, res)

=>)}

)jwt–> json web token 是目前最流行的跨域認證解決方案

使用者的資訊通過token字串的形式,儲存在客戶端瀏覽器中。伺服器通過還原token字串的形式來認證使用者的身份

authorization: bearer
// 匯入用於生成jwt字串的包

const jwt =

require

('jsonwebtoken'

)// 匯入用於將客戶端傳送過來的jwt字串,解析還原成json物件的包

const expressjwt =

require

('express-jwt'

)

const secretkey =

'hahahahah'

post

('/api/login'

,(req, res)

=>)}

// 加密

const tokenstr = jwt.

sign

(, secretkey,

) console.

log(

'login'

) res.

send()

})

// expressjwt() 就是用來解析token的中介軟體

// .unless()用來指定哪些介面不需要訪問許可權

use(

expressjwt()

.unless()

)

use

((err, req, res, next)

=>)}

// 其它原因導致的錯誤

res.

send()

})

Windows身份認證 NTLM認證

步驟一 使用者通過輸入windows帳號和密碼登入客戶端主機。在登入之前,客戶端會快取輸入密碼的雜湊值,原始密碼會被丟棄 原始密碼在任何情況下都不能被快取 這是一條基本的安全準則 成功登入客戶端windows的使用者如果試圖訪問伺服器資源,需要向對方傳送乙個請求。該請求中包含乙個以明文表示的使用者名...

activiti中關於身份認證的表

關於身份認證資訊的表,activiti中一共有四個,分別是 act id user act id info act id group act id membership act id user 使用者表,存使用者資料。字段描述 型別not null 備註id 主鍵id nvarchar2 64 ye...

NSURLCredential 身份認證

web 服務可以在返回 http 響應時附帶認證要求 challenge,作用是詢問 http 請求的發起方是誰,這時發起方應提供正確的使用者名稱和密碼 即認證資訊 然後 web 服務才會返回真正的 http 響應。收到認證要求時,nsurlconnection的委託物件會收到相應的訊息並得到乙個n...