Django автоматический выход и перенаправление страниц - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть приложение, бэкэнд которого написан с использованием django и python.Я хочу реализовать функцию автоматического выхода из системы в моем приложении.Для этого я использовал следующие встроенные функции django:

SESSION_EXPIRE_AT_BROWSER_CLOSE = True
SESSION_COOKIE_AGE = 40
SESSION_SAVE_EVERY_REQUEST = True

Я также использовал LOGOUT_REDIRECT_URL для перенаправления страницы после выхода из системы.

Но это не помогает.

  1. Через 40 секунд происходит выход из системы, но он не виден во внешнем интерфейсе, страница входа в систему появляется только в том случае, если пользователь обновляет вкладку или делает какой-либо запрос во вкладке.

  2. Если я закрою браузер и снова открою его, появится домашняя страница без данных, поскольку данные зависят от пользователя.и если выполняется обновление вкладки, вкладка перенаправляется на страницу входа.

Я хочу достичь 2 сценариев:

  1. ЕслиПри автоматическом журнале пользователя пользователь должен быть автоматически перенаправлен на страницу входа в систему.

  2. Если пользователь закрывает окно браузера и открывает его снова, пользователю необходимо отобразить страницу входа в приложение.

Любые предложения о том, как достичь этих сценариев?

Буду признателен за любую помощь.Спасибо.

1 Ответ

0 голосов
/ 25 сентября 2018
  1. Через 40 секунд происходит выход из системы, но он не виден во внешнем интерфейсе, страница входа в систему появляется только в том случае, если пользователь обновляет вкладку или делает какой-либо запрос на вкладке.

Да, так оно и есть.Ваш браузер не будет делать ничего автоматически.Вам нужно будет написать необходимый код Javascript, чтобы отслеживать возраст файла cookie сеанса.И когда он истечет, ваш код Javascript загрузит страницу входа.

Если я закрою браузер и снова открою его, появится домашняя страница без данных, поскольку данные зависят от пользователя.и если обновление вкладки выполнено, вкладка перенаправляется на страницу входа.

Это не звучит правильно.Если вы снова откроете браузер и зайдете на домашнюю страницу своего приложения, он должен перейти на страницу входа.Но пытаетесь ли вы восстановить сеанс браузера после его повторного открытия (Ctrl + Shift + T)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...