Tôi đang sử dụng nodejs (expressjs) được lưu trữ trên heroku.Làm thế nào để làm sạch tất cả các phiên trong Nodejs (heroku + redis)?
Sessions được lưu trữ trong redis (Redistogo plugin cho Heroku):
RedisStore = require('connect-redis')(express)
app.use express.session
secret: process.env.CLIENT_SECRET
cookie: { maxAge: 604800000 }
store: new RedisStore {client: redis}
Sau khi người dùng đăng nhập tôi lưu trữ thông tin của mình trong req.session
after_user_logged_id = (req, user)->
req.session.current_user =
id: user._id
name: user.name
tôi cần phải khởi động lại máy chủ và sạch sẽ tất cả phiên: đăng xuất tất cả người dùng để buộc họ đăng nhập một lần nữa. Làm thế nào tôi nên làm điều này? Khởi động lại plugin Redis không giúp ích gì.
Bạn có thể tự mình thực hiện, bằng mã. Có thể là một tính năng tốt để có, nếu bạn cần phải nâng cấp/thay đổi một cái gì đó trong phiên trong tương lai. Những gì tôi đề nghị là bạn kiểm tra sự tồn tại của một số tài sản, và nếu không phá hủy phiên, buộc người dùng phải đăng nhập, tại thời điểm bạn thiết lập thuộc tính. Một cái gì đó như: 'if (session.version <1) {session.destroy()}'. –
tôi nên đặt nó trong app.configure() -> app.use (req, res, next) -> session_logic? –
Có, bạn có thể đặt nó ở đó, và bạn có thể cũng muốn 'res.redirect()' vào trang đăng nhập của bạn. –