2011-10-19 24 views
5

Estoy usando Connect.js y el módulo connect-session para administrar cookies de sesión. Noté que Connect establece una cookie de sesión en todas las rutas excepto en los archivos estáticos. El problema es que proceso algunos archivos estáticos como archivos JS y CSS antes de enviarlos, por lo que no puedo usar el servidor estático integrado de Connect, lo que significa que connect-session establece una cookie de sesión para estos archivos. Como estos archivos se incluirán en sitios externos, no quiero que envíen cookies con ellos.Cookies de sesión solo para rutas específicas

¿Es posible establecer cookies de sesión solo para rutas específicas?

+0

'app.use ('/ session-only', express.session());' debería funcionar. – OneOfOne

+3

[Este número] (https://github.com/senchalabs/connect/issues/307) puede interesarle. – jweyrich

Respuesta

2

bien he encontrado mi respuesta aquí: http://senchalabs.github.com/connect/middleware-session.html

Puede pasar por alto mediante el uso de rutas connect.session.ignore así: connect.session.ignore.push('/robots.txt');

+3

Ya no: https://github.com/senchalabs/connect/commit/73bf05479cee5b7e8e4e7ba27b45be16a303c912#lib/middleware/session.js –

+0

Hmm, gracias por señalarlo. ¿Alguna alternativa? –

+0

Supongamos que puede obtener el middleware de sesión en una variable, 'var session = express.session ({key: 'blah'});' y luego simplemente escriba un middleware que invoca 'session.apply (express, arguments)' en las rutas desea el middleware de sesión –

2

si está usando expreso, puede poner app.use(express.static(path.join(__dirname, 'public'))); antes app.use(express.session());.

Cuestiones relacionadas