如何在Magento中更改管理员会话时间?


Answers:


28

在此有一个菜单项:

系统>配置>高级>管理>安全性>会话生存时间(秒)

还要检查php环境变量

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

为了确保您正在编辑正确的php.ini,请创建一个包含以下内容的简单“ check.php”文件:

<?php 
phpinfo();
?>

,将文件放在您的magento主目录中,从浏览器中调用它(URL / check.php)并检查这些设置。

有关更多信息,请单击此处


16

Magento 2.0解决方案

对于Magento 2,可以在管理员的左侧面板中找到它。

商店>配置>高级>管理>安全性

Admin Session Lifetime (秒)选项在主窗口中。

Magento 2的默认值为900。对于1小时,设置为3600(60秒* 60分钟)。

您必须在“默认配置”上进行配置,而不是为商店视图选项选择网站或商店视图。我试图通过左上角的下拉菜单在商店视图中使用它,但该选项不存在。这确实是有道理的,因为它是管理配置。

请注意,至少从Magento 2.1开始,此设置对cookie的生存期没有任何影响。


似乎现在正在为我工​​作于2.1,至少在开发人员模式下如此。
亚伦·麦克米林

在2.1.1中中断,始终使用会话Cookie
Alex

它适用于我的Magento v.2.3.1
kanenas

4

另一个无需修改任何设置的简单解决方案是auto refresh addon为您的浏览器安装任何设置 ,并设置其时间(60秒)。

它将每6o秒自动刷新一次页面,以防止会话寿命到期,我们可以开始使用其他标签了。

我用过Easy Auto Refresh,对我来说很好用。


2

系统->配置->常规-> Web->会话Cookie管理

Cookie的生存时间:更改此值(即:86400)。


8
抱歉,这是前端(商店)中会话生存期的值。可以通过系统>配置>高级部分>管理>会话生存时间(秒)来设置管理会话生存时间。将其设置为3600(60秒* 60分钟),持续一小时。
AnnaVölkl2014年

@AnnaVölkl我为此写了一个详细的帖子。magento2training.com/...
Nahid

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,通过构造函数参数注入。

这样,cookie生存期就可以从前端使用,就像在前端一样。

请注意,“ 商店”>“配置”>“高级”>“管理员安全性”>“会话生存期”中的配置不再对Cookie产生任何影响!它用于确定Redis会话的生存期,因此,如果增加cookie的生存期,则还应该增加此值。



1

在MySQL中:

表格:core_config_data

路径:admin / security / session_lifetime


0

是的,但是首先您必须确保magento位置和服务器时间在同一时区。还请确保没有任何会话。* php.ini中的覆盖

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.