我有,看起來像這樣的路由器+的NodeJS Express服務器設置:填寫的NodeJS其他功能「請求」
app.route('/clients/:clientId)
.get(users.ensureAuthenticated, clients.read)
.put(users.ensureAuthenticated, clients.hasAuthorization, clients.update)
.delete(users.ensureAuthenticated, clients.hasAuthorization, clients.delete);
app.param('clientId', clients.clientByID);
我的問題是,users.ensureAuthenticated
充滿req
參數與當前用戶req.user
。
基本上它這樣做:req.user = payload.sub;
(與其他一些背景的東西)
然後req.user
是提供以下功能例如clients.update
,但不在clients.clientByID
。
我知道我可以在clients.clientByID
中再次執行users.ensureAuthenticated
,但是這會執行代碼兩次並且會在服務器上產生額外的負載,對吧?我想一定有另外一種方法,但是在express的文檔中我找不到任何東西。
我想知道如何在clients.clientByID
中訪問req.user
,而不是在users.ensureAuthenticated
中執行兩次代碼。
它看起來像你需要一箇中間件,對不對? –
讓我知道我的答案是否足夠。 – xaviert
你能不能給那些試圖幫助你的人提供反饋? – xaviert