WedX - журнал о программировании и компьютерных науках

Через 20 минут бездействия сессия должна быть завершена в приложении.

Через 20 минут бездействия сеанс должен быть завершен в приложении.

Как я могу сделать это в symfony2.

05.05.2015

Ответы:


1

Установите срок действия session в файле config.yml в разделе framework.

config.yml

framework:
  secret:        %secret%
  charset:       UTF-8
  error_handler: null
  csrf_protection:
      enabled: true
  router:        { resource: "%kernel.root_dir%/config/routing.yml" }
  validation:    { enabled: true, annotations: true }
  templating:    { engines: ['twig'] } #assets_version: SomeVersionScheme
  session:
      default_locale: %locale%
      lifetime:       3600
      auto_start:     true

измените значение session: lifetime в секундах по умолчанию на 3600.

05.05.2015
  • Я думаю, что gc_maxlifetime такой же, как и время жизни .. верно? Но как выйти из этого сеанса, когда пользователь неактивен. 05.05.2015
  • Да. Если вызывается обработчик сборки мусора, PHP передаст значение, сохраненное в сеансе директивы php.ini gc_maxlifetime. Любой сохраненный сеанс, который был сохранен более gc_maxlifetime назад, должен быть удален. Это позволяет удалять записи в зависимости от времени простоя. 05.05.2015
  • Я добавил параметр cookie_lifetime: 1200 в файл config.yml, но если пользователь активен, он не должен выходить из системы. Выход из системы только в том случае, если пользователь неактивен в течение 20 минут. Что я должен делать? 05.05.2015
  • Установка времени жизни куки неуместна, потому что клиент может манипулировать ею, поэтому вам нужно выполнить истечение срока действия на стороне сервера. Самый простой способ - реализовать это с помощью сборки мусора, которая выполняется достаточно часто. cookie_lifetime будет установлено относительно высокое значение, а сборщик мусора gc_maxlifetime будет настроен на уничтожение сеансов в любой желаемый период простоя. 05.05.2015
  • Привет, я установил время переменной gc_maxlifetime или cookie_lifetime в файле config.yml, но даже активный пользователь все равно выходит из приложения. 12.05.2015

  • 2

    Собственное хранилище сеансов использует файлы cookie. Другой пример обработки сеансов — их сохранение в базе данных.

    Метод Джейсона приведет к тому, что сеанс истечет через один час. Вы также можете принудительно выйти из системы в любое время, например:

    $this->container->get('request')->getSession()->invalidate();
    $this->container->get('security.context')->setToken();
    

    Примечание. Начиная с Symfony 2.6, служба security.context устарела и разделена на две новые службы: security.authorization_checker и security.token_storage.

    Ссылка на конфигурацию фреймворка для сеанса

    05.05.2015
  • Означает ли это, что в соответствии с методом Джейсона устанавливается только параметр времени жизни в файле конфигурации, и сеанс автоматически выходит из системы по истечении этого определенного времени? Или какой-то другой код надо написать? 05.05.2015
  • Верно. Метод Джейсона - поставил и забыл. :) Но у вас также есть возможность вручную выходить из системы. Хотя на самом деле это cookie_lifetime: 3600 05.05.2015
  • Я добавил параметр cookie_lifetime: 1200 в файл config.yml, но если пользователь активен, он не должен выходить из системы. Выход из системы только в том случае, если пользователь неактивен в течение 20 минут. Что я должен делать? 05.05.2015
  • Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]