2014-11-14 1 views
0
에 대한 액세스를 방지

내가 ID = 555와 웹 응용 프로그램에 사용자가있는 경우 어떻게 그에게 단지 아래 URL에 대한 액세스 제공 않습니다Node.js를 - 특정 URL

www.example.com/users/555/home 

을하고 그를 방지 도착하는 곳 :

www.example.com/users/554/home 

등?

가장 좋은 방법은 무엇입니까? 현재 Passport.js를 인증에 사용하고 있습니다.

답변

2

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에 익숙하지 않습니다. 여권 전문가,이 대답을 편집하십시오.

1
app.get('/users/:id/home', function(req, res) { 
    if(req.params.id == 554) { 
    res.send('Thy art not allowed!'); 
    } 
}; 
+0

PUT, POST 등을 위해 반복해야합니다. – user949300