내가 ID = 555와 웹 응용 프로그램에 사용자가있는 경우 어떻게 그에게 단지 아래 URL에 대한 액세스 제공 않습니다Node.js를 - 특정 URL
www.example.com/users/555/home
을하고 그를 방지 도착하는 곳 :
www.example.com/users/554/home
등?
가장 좋은 방법은 무엇입니까? 현재 Passport.js를 인증에 사용하고 있습니다.
내가 ID = 555와 웹 응용 프로그램에 사용자가있는 경우 어떻게 그에게 단지 아래 URL에 대한 액세스 제공 않습니다Node.js를 - 특정 URL
www.example.com/users/555/home
을하고 그를 방지 도착하는 곳 :
www.example.com/users/554/home
등?
가장 좋은 방법은 무엇입니까? 현재 Passport.js를 인증에 사용하고 있습니다.
Express 4에서 use()는 경로를 사용할 수 있습니다. 그래서, 매우 느슨하게 (가능성 오류 포함) JimmyRare 답변과는 달리
app.use('/users/:id/:dir', function(req, res, next){
if (checkAuth(lots of args)). // you have an id, dir, etc...
next(); // user is o.k. to proceed
else
send a 400 or whatever; and don't call next!
});
, 이것은 모든 HTTP 동사 모든 사용자를 커버 ... 등) (,) (app.put를 얻을 앱 전에이를 넣어 .
: 저는 다른 사람이 입력해야 할 passport.js에 익숙하지 않습니다. 여권 전문가,이 대답을 편집하십시오.
app.get('/users/:id/home', function(req, res) {
if(req.params.id == 554) {
res.send('Thy art not allowed!');
}
};
PUT, POST 등을 위해 반복해야합니다. – user949300