【问题标题】:Session Cookies Only for Specific Routes仅针对特定路由的会话 Cookie
【发布时间】:2013-01-28 15:45:40
【问题描述】:

我正在使用 Connect.js 和 connect-session 模块来管理会话 cookie。我注意到 Connect 在除静态文件之外的所有路由上都设置了会话 cookie。问题是我在发送之前处理了一些像 JS 和 CSS 文件这样的静态文件,所以我不能使用 Connect 的内置静态服务器,这意味着 connect-session 为这些文件设置了会话 cookie。由于这些文件将包含在外部站点中,因此我不希望它们与它们一起发送 cookie。

是否可以仅为特定路由设置会话 cookie?

【问题讨论】:

  • app.use('/session-only', express.session()); 应该可以工作。
  • This issue 你可能会感兴趣。

标签: session cookies node.js express


【解决方案1】:

如果你使用快递,你可以把app.use(express.static(path.join(__dirname, 'public')));放在app.use(express.session());之前。

【讨论】:

    【解决方案2】:

    好的,我在这里找到了答案:http://senchalabs.github.com/connect/middleware-session.html

    您可以使用 connect.session.ignore 来忽略路由,如下所示:connect.session.ignore.push('/robots.txt');

    【讨论】:

    • 假设您可以在变量var session = express.session({ key: 'blah' }); 中获取会话中间件,然后只需编写一个中间件,在您想要会话中间件的路径上调用session.apply(express, arguments)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-02
    相关资源
    最近更新 更多