Я хочу создать приложение Django с некоторыми зарегистрированными пользователями. С другой стороны, поскольку мне нужны некоторые возможности в реальном времени, я хочу использовать приложение Express.js.Совместное использование хранилища сеансов в Redis для Django и приложения Express.js
Теперь проблема заключается в том, что я не хочу, чтобы пользователи, не имеющие авторизации, получили доступ к приложениям приложения Express.js. Поэтому мне нужно разделить хранилище сеансов между приложениями Express.js и Django.
Я думал, что использование Redis было бы хорошей идеей, так как летучие ключи идеально подходят для этой подгонки, и я уже использую Redis для другой части приложения.
О применении Express.js, я бы такой код:
[...]
this.sessionStore = new RedisStore;
this.use(express.session({
// Private crypting key
secret: 'keyboard cat', // I'm worried about this for session sharing
store: this.sessionStore,
cookie: {
maxAge: 1800000
}
}))
[...]
На стороне Django, я думаю использования django-redis-session приложения.
Итак, это хорошая идея? Не будет проблем? В частности, о секретном ключе, я не уверен, что они будут участвовать в одних и тех же сеансах.
Вам определенно придется написать пользовательский обработчик для выражения или jjango, чтобы синхронизировать, как они кодируют файл cookie, как они сопоставляют идентификатор сеанса в cookie с ключом redis и как они сопоставляют значение redis для сеанса , –
Хех, так что нет способа заставить его работать из коробки? Я хотел бы получить мнение о том, что кто-то работал с обеими системами (возможно, у вас есть, я не знаю :)). –
Конечно, вам не нужно доверять мне. Я никогда не работал с django-redis-session. Но я много работал с Express и Django. Но это ни здесь, ни там, потому что это факт, что экспресс-сеансы - это JSON, а сеансы Django - маринованные объекты Python. Так что это не сработает. Express хранит сеансы как 'sess: sessionId', и это не дикое предположение, что django-redis-session использует другую схему для сопоставления между клавишами redis и идентификаторами сеанса. –