Magentoで管理セッション時間を変更する方法は?


28

管理セッションがアクティブである時間が短すぎる場合があります。

バックエンドからユーザーを自動ログオフするのにかかる時間を変更するにはどうすればよいですか?

回答:


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の左パネルにあります。

ストア>設定>詳細設定>管理者>セキュリティ

Admin Session Lifetime (秒)メインウィンドウのオプション。

Magento 2のデフォルト値は900です。1時間3600(60秒* 60分)に設定します。

ストアビューオプションのWebサイトまたはストアビューを選択する代わりに、「デフォルト構成」でこれを構成する必要があります。左上のドロップダウンメニューからストアビューで使用しようとしましたが、オプションがありません。管理構成であるため、意味があります。

この設定は、少なくともMagento 2.1以降のCookieの有効期間には影響しません。


少なくともそれが問題になる場合は、少なくとも開発者モードで、今のところ2.1で作業しているようです。
アーロンマクミリン

2.1.1で破損、常にセッションCookie
アレックス

Magento v.2.3.1
kanenas

4

設定を変更しないもう1つの簡単なソリューションはauto refresh addon、ブラウザーにany をインストールし、 その時間(60秒)を設定することです。

セッションが6秒ごとに自動更新されるため、セッションの有効期限が切れず、別のタブで作業を開始できます。

私が使用しEasy Auto Refresh、それは私のためにうまく機能します。


2

システム->構成->一般-> Web->セッションCookie管理

Cookie Lifetime:この値を変更します(例:86400)。


8
申し訳ありませんが、これはフロントエンド(ショップ)のセッションライフタイムの値です。管理セッションの有効期間は、システム>設定>詳細セクション>管理>セッションの有効期間(秒)で設定できます。1時間のライフタイムの間、3600(60秒* 60分)に設定します。
アンナフォルクル14

@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];
}

where $this->scopeConfig\Magento\Framework\App\Config\ScopeConfigInterface、コンストラクタパラメータを介して注入されたのインスタンスです。

この方法では、フロントエンドと同様に、Cookieの有効期間が構成から使用されます。

構成のことを注意店舗> [設定]> [詳細]> [管理者セキュリティ>セッションの有効期間は、もはやクッキーには影響しません!Redisセッションの有効期間を決定するために使用されるため、Cookieの有効期間を延長する場合は、この値も増やす必要があります。



1

MySQLの場合:

テーブル:core_config_data

パス:admin / security / session_lifetime


0

はい。ただし、最初にmagentoの場所とサーバー時間が同じタイムゾーンにあることを確認する必要があります。また、php.iniにsession。*オーバーライドがないことを確認します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.