2014-05-09 4 views
0

그래서 난이 미들웨어 기능이 경로에 대한 미들웨어를 장착 명시 :nodejs는

function sessionTest(req,res,next){ 
     if(req.method === 'GET'){ 
      var signedCookies = req.signedCookies; 
      var numValues = Object.keys(signedCookies).length; 
      console.log("sessionTest, signedCookies: "+JSON.stringify(signedCookies)); 
      if(numValues === 0 || signedCookies.user === undefined){ 
       //redirect user to the login page 
       res.render('login', {msg:"Please login"}); 
      }else{ 
       next(); 
      } 
     }else{ 
      next(); 
     } 
    } 

나는 단지 '/'경로를 마운트합니다. 시도 : app.use ('/', sessionTest); 하지만 작동하지 않으며 '/ files'와 같은 다른 경로는 여전히 해당 미들웨어를 선택합니다.

답변

2

당신은 단지 하나 개의 경로를 위해 필요한 경우이

app.all('/', sessionTest, someOtherFunction, yetAnotherFunction) 

을 할 수 있으며, 다음() 호출 (모든 경우)하게 될 때 다음 중 하나

을 통해 단계적으로합니다