2017-02-25 12 views
0

私はexpress.jsにはかなり新しく、ログインした後にセッションクッキーを作成しようとしています。セッションを開始でき、セッションは次のディレクトリに来ていないようです。私はセッションを開始する前にボディーセーラーを含んでいませんでした。Express-session認証

router.use(bodyParser.json()); 

router.use(bodyParser.urlencoded({ extended: true })); 

router.use(session({ 
name: "authorization", 
secret: "secret", 
saveUninitialized: false, 
resave: false, 
cookie: { 
    secure: true, 
    httpOnly: true, 
    maxAge: 1000 * 60 * 60 * 24, 
}, 
})); 

    router.route("/login") 
     .get(function(request, response) { 

    response.render("../views/partials/login"); 
}) 

.post(function(request, response, next) { 

    let username = request.body.username; 
    let password = request.body.password; 

    User.findOne({user: username}, function(err, user) { 
     if (err) { 
      throw err 
     } 

     // test password if matching 
     if (user !== null) { 
      user.comparePassword(password, function(err, match) { 
       if (err || !match) 
       } 

       request.session.user = username;  // These seems to not follow 
       request.session.password = password; 
      }); 
     } else { 
      response.redirect("/login"); 
     } 
    }); 

}); 

しかし、私は「/ホーム」にリダイレクトするとき、

request.session.user -> undefined 

function restrict(req, res, next) { 
    if (req.session) { 
     next(); 
    } else { 
     req.session.error = "Access denied!"; 
     res.sendStatus(403); 
    } 
} 
router.route("/home") 
.get(restrict, function(request, response) { 
    console.log(request.session.user) ---> undefined 

を未定義request.session.userリターンはなぜクッキー内の任意のユーザーがありませんか?

申し訳ありませんが、これは不快な質問です。

(私はパスポートなどのような任意のプラットフォームを使用したくないPS) (私が知っているPSSは、エラー処理が最善ではありませんが、それは一時的だ)

+0

Cookieパーサーミドルウェアを使用していますか? – Mouneer

+0

@Mouneerはい私はそうです! – Jesper

+1

** cookie.secure **フラグについては、ドキュメント: 'これをtrueに設定すると注意してください。ブラウザはHTTPS接続がないとあなたはhttps接続を使用していますか? – Mouneer

答えて

0

あなたcookie.secureフラグについて、ドキュメントから:ブラウザが HTTPS接続を持っていない場合、対応のクライアントが、将来的にサーバーに戻す クッキーを送信しないように、これをtrueに設定するとき

注 注意してください。

あなたのコメントからは、https接続を使用せず、クッキーはサーバーに送信されません。

関連する問題