2016-03-24 24 views
0

Projemde ekspres oturumunu kullanıyorum. Web tarayıcısı ve düğüm js sunucusu arasında bir saatin varsayılan bir bitiş zamanı olan bir oturumun başlatıldığını varsayalım. connect.sid adında bir çerez şimdi tarayıcıda mevcuttur.Tarayıcıdaki ekspres oturumunun son kullanma tarihi değişti.

Hem kullanıcı tarayıcısında hem de node js'de son kullanma tarihini uzatma işlevine ihtiyacım var. Nasıl yapılabilir?

Sunucu tarafında aşağıdaki yollarla yaptım ancak kullanıcı tarayıcısında yansıtmıyor. Yeni expiry tarih saatini kullanıcı tarayıcı çerezine itmek mümkün mü?

var hour = 3600000; 
req.session.cookie.expires = new Date(Date.now() + hour); 
req.session.cookie.maxAge = hour; 

cevap

0

Çerezleri tarayıcıda okumak/yazmak, node.js.'deki tanımlama bilgilerini nasıl değiştirdiğinizden biraz farklıdır. Tarayıcıda, çerezler,nesnesinin bir özelliği olarak, yani document.cookie, yarı-kolonlarla ayrılmış bir anahtar değer çiftleri dizisi olarak saklanır.

Burada (tarayıcı mevcut çerezleri üzerine yazar mantık kolları) bir çerez değiştirmek/oluşturmanıza olanak sağlayan basit bir fonksiyon var: sizin durumunuzda Yani

function createCookie (name, value, days) { 
    var expires = "" 
    var date = new Date() 
    if (days) { 
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)) 
    expires = "; expires=" + date.toGMTString() 
    } 
    document.cookie = name + "=" + value + expires + "; path=/"  
} 

, sadece arayacağını:

var hour = 3600000; 
createCookie('expires', new Date(Date.now() + hour), 1); // I've arbitrarily chosen one day as the expiry here 
createCookie('maxAge', hour, 1); // here too 

Veya bu etkiyle ilgili bir şey. Bu yardımcı olur umarım!

İlgili konular