如何根据传入的 req.url 将 express.cookieSession 设置为路径
How to set express.cookieSession to a path according to the incoming req.url
我有一个用node.js编写的服务器。 它使用护照登录用户。 我也在使用express.cookieSession。
我有几个客户端,每个客户端都有自己的文件夹(假设将我的应用程序的几个副本服务器到每个客户端)。 我的应用程序的每个副本都将按如下方式访问:
www.mysite.com/client1/...www.mysite.com/client2/...
这是我的服务器代码:
app.configure(function() {
app.use(express.compress());
app.use(express.logger({format: 'dev'}));
app.use(basic.middleware);
app.use(express.cookieParser());
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.static(path.join(__dirname, 'app'), { maxAge: oneYear}));
app.use(express.cookieSession(
{
secret: process.env.COOKIE_SECRET || "cantbedecrypted",
cookie: { maxAge: 1000*60*60 }
}));
});
我的目标是根据这个"client1"或"client2",我想保存一个会话cookie,以便在我请求时.log它将填充该特定的cookie。
我已经在 req.login 函数上完成了此操作,但问题是每次用户进入站点时,它首先在路径"/"处创建一个会话 cookie,在用户登录后它会创建另一个会话 cookie,但这次是在所需的路径上:"/client1/。
这是在登录时保存会话 cookie 的代码:
req.session.cookie.path = '/' + clientName;
问题是当我执行 req.logout() 时,正在销毁的会话 cookie 位于默认路径上:"/",因此用户保持登录状态。
是否可以插入一些中间件,在创建初始会话 cookie 之前检查 req.url,以便它只保存在"/client1/而不是默认的"/"??
我只需要一具骷髅。我尝试过这样的事情,就在app.use express.cookieSession之后
app.use(function (req, res, next) {
check url...
req.session.cookie.path = **desired path
}
但这没有用。
有没有办法在express.cookieSession中使用一些参数或全局变量? 这可以解决我的问题。
我认为你混淆了req
和res
.您不会修改发送/设置 Cookie req
,而是更改res
。要重置 cookie,请使用 clearCookie。你可以用它给出路径:
res.clearCookie('name', { path: '/admin' });
- 使用Express捕获参数
- 从模块内部访问Express装载路径
- 在Nodejs中Express输入DEBUG=app时权限被拒绝/bin
- 如何使用Node/Express显示有关特定错误的自定义html页面
- 发送json对象或使用express路由呈现视图
- renderReact/Rect Router+Node/Express.js的服务器端/同构渲染中未定义renderP
- angularjs中$cookiestore和$cookies之间的差异
- 为什么不't Express呈现我的React应用程序
- Express服务器中语言子域的最佳实践
- 为什么不是'我的函数在解析云代码中工作吗?当我在Angular和Express中测试时,它是有效的
- Nodejs和express路由,如何处理客户端的承诺
- node.js和express中的异常处理
- 什么'在Express中路由时,应用程序级中间件和路由器级中间件之间的区别是什么
- 如何在不重新加载的情况下提交表单,并使用Node+Express将数据传递回同一页面
- Express.js:在用户发帖时获取用户的引荐来源网址
- 使用express.具有多个url和可选参数的Router()
- 使用connect vhost为多个express.js应用程序提供服务
- Express.js和multer:如何知道文件何时全部上传
- Express 4错误:Can't在发送标头后设置标头
- express.js parsing cookies?