我有node.js
和護照工作,使用passport.js
文檔。NodeJS Passport:可以驗證角色?
我的問題是,我可以不同的身份驗證,使用LocalStrategy
爲不同的角色?
我有普通用戶和管理員用戶,當然,有些頁面只適用於管理員。
我有node.js
和護照工作,使用passport.js
文檔。NodeJS Passport:可以驗證角色?
我的問題是,我可以不同的身份驗證,使用LocalStrategy
爲不同的角色?
我有普通用戶和管理員用戶,當然,有些頁面只適用於管理員。
我離回答自己的問題只有五分鐘的路程。
您可以通過護照在req.user中找到用戶實體數據。
,所以我可以用這個
if (req.user.role == "Admin") {
// render page here
} else {
// redirect somewhere else
}
你要設計你的數據庫的方式,你可以記住,如果用戶是管理員或普通用戶等(即你將不得不作出將數據保存)。
現在至於如何使用這個本地策略?我真的懷疑,除非你每次用他的用戶名和密碼請求一個新頁面時,都要尋找你的用戶登錄,否則你就需要用本地策略。您應該使用會話,您可以在用戶反序列化方法中添加特殊的特殊req.role。
現在對於每個視圖你需要檢查用戶的角色是否允許他查看它?你可以定義一個自定義策略來檢查這個嗎?在該策略中,只需檢查req.user.role並允許每個頁面具有特定角色。
我希望這可以幫助你!