2011-10-19 11 views
5

Uso Connect.js e il modulo sessione-connessione per la gestione dei cookie di sessione. Ho notato che Connect imposta un cookie di sessione su tutti i percorsi ad eccezione dei file statici. Il problema è che elaboro alcuni file statici come i file JS e CSS prima di inviarli, quindi non posso usare il server statico incorporato di Connect, il che significa che connect-session imposta un cookie di sessione per questi file. Poiché questi file saranno inclusi su siti esterni, non voglio che inviino loro cookie.Cookie di sessione solo per rotte specifiche

È possibile impostare i cookie di sessione solo per rotte specifiche?

+0

'app.use ('/ session-only', express.session());' dovrebbe funzionare. – OneOfOne

+3

[Questo problema] (https://github.com/senchalabs/connect/issues/307) potrebbe interessarti. – jweyrich

risposta

2

Va bene ho trovato la mia risposta qui: http://senchalabs.github.com/connect/middleware-session.html

È possibile ignorare percorsi utilizzando connect.session.ignore in questo modo: connect.session.ignore.push('/robots.txt');

+3

Non più: https://github.com/senchalabs/connect/commit/73bf05479cee5b7e8e4e7ba27b45be16a303c912#lib/middleware/session.js –

+0

Hmm, grazie per averlo indicato. Qualche alternativa? –

+0

Supponiamo di poter ottenere il middleware di sessione in una variabile, 'var session = express.session ({chiave: 'blah'});' e quindi basta scrivere un middleware che chiama 'session.apply (express, arguments)' sui percorsi si desidera il middleware di sessione –

2

se si utilizza espresso, si può mettere app.use(express.static(path.join(__dirname, 'public'))); prima app.use(express.session());.