Как изменить время сеанса администратора в Magento?

28

Возможно, что время, когда сеанс администратора активен, слишком короткое.

Как изменить время, необходимое для автоматического выхода пользователя из серверной части?

Meetai.com
источник

Ответы:

28

Для этого есть пункт меню:

Система> Конфигурация> Дополнительно> Администратор> Безопасность> Время жизни сеанса (секунды)

Также проверьте переменные среды php

  • php_value session.cookie_lifetime <seconds>
  • php_value session.gc_maxlifetime <seconds>

Чтобы убедиться, что вы редактируете правильный файл php.ini, создайте простой файл «check.php» со следующим содержимым:

<?php 
phpinfo();
?>

, поместите файл в домашний каталог magento, вызовите его из браузера (URL / check.php) и проверьте эти настройки.

Для получения дополнительной информации смотрите здесь .

elMarquis
источник
16

Решение для Magento 2.0

Для Magento 2 его можно найти в левой панели на панели администратора.

Магазины> Конфигурация> Дополнительно> Админ> Безопасность

Admin Session Lifetime (секунды) опция в главном окне.

Значение по умолчанию - 900 для Magento 2. Для 1 часа установлено значение 3600(60 секунд * 60 минут).

Вы должны настроить это в «Конфигурации по умолчанию» вместо выбора веб-сайта или магазина в качестве опции для просмотра магазина. Я пытался использовать его в представлении магазина через раскрывающееся меню в левом верхнем углу, и вариант не существует. Это имеет смысл, поскольку это административная конфигурация.

Обратите внимание, что этот параметр не влияет на время жизни куки, по крайней мере, с Magento 2.1

camdixon
источник
Кажется, я сейчас работаю на 2.1, по крайней мере, в режиме разработчика, если это имеет значение.
Аарон Макмиллин
Сломанный в 2.1.1, всегда сессионный cookie
Alex
Это работает для моего Magento v.2.3.1
kanenas
4

Еще одно простое решение без изменения каких-либо настроек - это установить любое auto refresh addonдля вашего браузера и установить его время (60 секунд).

Он будет автоматически обновлять страницу каждые 6 секунд, что предотвращает истечение срока жизни сессии, и мы можем начать работать с другой вкладкой.

Я использовал, Easy Auto Refreshи это прекрасно работает для меня.

Амит Сингх
источник
2

Система -> Конфигурация -> Общие -> Интернет -> Управление файлами cookie сеанса

Срок действия cookie: измените это значение (т. Е. 86400).

Meetai.com
источник
8
Извините, но это значение времени жизни сеанса во внешнем интерфейсе (магазине). Время жизни сеанса администратора можно установить через Система> Конфигурация> Расширенный раздел> Администратор> Время жизни сеанса (в секундах). Установите его на 3600 (60 секунд * 60 минут) в течение одного часа.
Анна Фёлькл
@ AnnaVölkl Я написал подробный пост на эту тему. magento2training.com/…
Нахид
2

Посмотрите скриншот с прикрепленным изображением ниже из админ-панели Magento 2, чтобы настроить сеанс для входа в систему. введите описание изображения здесь

Йогеш Триведи
источник
2

Решение для Magento 2.1+

Начиная с Magento 2.1, время существования сеанса администратора всегда является «сеансом», т.е. Это было введено в целях безопасности.

Соответствующий код находится в Magento\Backend\Model\Session\AdminConfig:

/**
 * Set session cookie lifetime to session duration
 *
 * @return $this
 */
protected function configureCookieLifetime()
{
    return $this->setCookieLifetime(0);
}

Если вы хотите изменить это поведение, вы можете добавить плагин для этого класса с помощью следующего метода перехватчика:

public function beforeSetCookieLifetime()
{
    $lifetime = $this->scopeConfig->getValue(
        \Magento\Framework\Session\Config::XML_PATH_COOKIE_LIFETIME,
        \Magento\Framework\App\Config\ScopeConfigInterface::SCOPE_TYPE_DEFAULT);
    return [$lifetime, \Magento\Framework\Session\Config::COOKIE_LIFETIME_DEFAULT];
}

Где $this->scopeConfigдолжен быть экземпляр \Magento\Framework\App\Config\ScopeConfigInterface, внедренный через параметр конструктора.

Таким образом, время жизни куки используется из конфигурации, как и во внешнем интерфейсе.

Обратите внимание, что конфигурация в Stores> Configuration> Advanced> Admin Security> Session Lifetime больше не влияет на файлы cookie! Он используется для определения времени жизни сеанса Redis, поэтому, если вы увеличите время жизни куки, вам также следует увеличить это значение.

Фабиан Шменглер
источник
1

На самом деле Sunovisio предоставляет расширение, которое позволяет вам поддерживать сеанс администрирования во время работы и независимо от тайм-аута сеанса.

Вы можете проверить это там: http://ecommerce.sunovisio.com/index.php/admin-keep-alive-1-1-0.html

Надеюсь, это расширение поможет вам работать с вашей панелью администрирования Magento!

Лоик
источник
1

В MySQL:

таблица: core_config_data

путь: admin / security / session_lifetime

ThinkTeamwork
источник
0

да, но сначала вы должны убедиться, что местоположение magento и время сервера находятся в одном часовом поясе. также убедитесь, что в php.ini нет сессий. *


источник