2017-08-27 59 views
1

我正在使用快速會話和貓鼬。在我的用戶架構中,我獲得了排名關鍵值對,其排名如下:'admin'/'mod'/'user'我如何確定排名是用戶還是管理員? - 快速和會話

現在我怎樣才能確定用戶的等級?我的會話看起來像這樣:

app.use(session({ 
secret: process.env.SESSION_SECRET || 'as54v88vrh7e5a9', 
store: new MongoStore({ 
    mongooseConnection: mongoose.mongoose.connections[0], 
    ttl: (1*60*60) 
}), 
cookie: { 
    path: '/', 
    maxAge: 3600000 //60 min 
}, 
secure: true, 
httpOnly: true, 
resave: false, 
saveUninitialized: true, 
name: "ID" 
})); 

我可以通過'user'訪問每個請求中的會話。如果user = true,那麼我們有一個會話記錄用戶。我正在考慮使用IF CONDITION,但我無法比較兩個參數與車把。

所有來確定哪些用戶有權訪問f.e管理面板和其他東西。

回答

0

由於沒有人回答,我不得不自己想出答案。

我可以這樣做嗎?這安全嗎?

function requireAdmin(req, res, next) { 
    if (!req.user) { 
     res.json({ 
      "Error": "You need to log in." 
     }) 
    } else { 
     if (req.user.rank !== 'admin') { 
      res.json({ 
       "Error": "You don't have access." 
      }) 
     } else { 
      next(); 
     } 
    } 
} 
相關問題