node.js - express-session實作登入驗證中關於cookie的問題
仅有的幸福
仅有的幸福 2017-05-02 09:26:17
0
1
801

目前的情況是瀏覽器端存在一個cookie,名字就是config.session.key('myblog')但不論登入與否,他的值永遠不會變,而且如果登入了,關掉瀏覽器再開啟頁面,還是會在"登入"狀態. 請問這是如何實現的? 個人理解的驗證機制應該是改了cookie的值,發送到伺服器端,伺服器確認後返回已登入. 請各位dalao解惑
index.js

app.use(session({ name:config.session.key,//设置cookie中保存session id的字段名称 secret:config.session.secret,//通过设置 secret 来计算 hash 值并放在 cookie 中,使产生的 signedCookie 防篡改 resave:false,// saveUninitialized:false,//设置为 false,强制创建一个 session,即使用户未登录 cookie:{ maxAge:config.session.maxAge,//过期时间 }, store:new MongoStore({//将session存储到mongodb url:config.mongodb//mongodb地址 }) }));

signin.js 使用者登入

router.post('/', checkNotLogin, function(req, res, next) { var name = req.fields.name, password = req.fields.password; UserModel.getUserByName(name) .then(function(user){ if(!user){ req.flash('error','用户不存在'); return res.redirect('back'); } // 密码是否匹配 if(sha1(password)!==user.password){ req.flash('error','密码错误'); return res.redirect('back') } req.flash('success','登录成功'); delete user.password; req.session.user = user; res.redirect('/posts'); }) .catch(next); });
仅有的幸福
仅有的幸福

全部回覆 (1)
滿天的星座

cookie的值並不改.req.session儲存在伺服器端.

    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!