タグ付けされた質問 「session」

Magentoでのセッション管理に関する質問を示します。

1
Mage_Core_Model_Session_Abstract_Varien :: startに非常に長い時間
Magento EE 1.14.1.0を使用しており、Mage_Core_Model_Session_Abstract_Varien::startメソッドに非常に長い時間がかかっています 。セッションストレージにMemcachedとRedisを使用してみましたが、どちらも同じ結果になりました。 これは正常ですか?これはNew Relicの問題ですか?それを修正する方法はありますか? 以下のスクリーンショット: 私はどんな提案にもとても感謝します。

1
不安定なCookie関連のログインの問題
これは長いです... 間違ったCookie管理が原因でログインが失敗するという悪いケースがあります。まず、私は顧客がカタログを表示する前にログインする必要があるクローズドストア(B2B)を管理しています。未登録のアクセスはすべてログインページにリダイレクトされますが、ユーザー名とパスワードが正しい場合でも、顧客がログインできないことがあります。Diglin_Username拡張機能とStoreRestricitionプラグインを使用して目的の動作を実現するため、「ユーザー名」と言います。ときどき、Magentoが残した2つの異なるCookieのセットが見つかり、それらが2つの異なるドメイン(たとえば、.www.abc.comと.abc.com)を参照していることがあります。 初期のセッションのインスタンス化に関する偉大なAlan Stormからのこの記事を読んだ後、私のブラウザーで恐ろしいPHPSESSID Cookieを見つけた後、問題を詳細に調査しました。 私が見つけたのは両面です。まず、Mage_Core_Model_Session_Abstract_Varienクラスの関数start()にMage :: Log()呼び出しを入れて、Magentoが新しいセッションを開始するために行ったさまざまな試行をログに記録し、最初のMage :: run()の呼び出しに続いてpreDispatch()を呼び出したことに気付きました、Mage_Core_Controller_Front_Actionクラスのdispatch()およびpostDispatch()メソッドは通常のシーケンスで呼び出されますが、postDispatch()を実行すると、preDispatch()によって開始されたセッションを見つけられず、新しいセッションの作成に進むようです。この点で、Magento 1.7.xと1.8.xのバージョンのコードに違いがあり、問題を解決できる可能性があると思います。 Magento 1.7.x-Mage_Core_Model_Session_Abstract_Varienクラス: public function start($sessionName=null) { if (isset($_SESSION)) { return $this; } . . } Magento 1.8.x-Mage_Core_Model_Session_Abstract_Varienクラス: public function start($sessionName=null) { if (isset($_SESSION) && !$this->getSkipEmptySessionCheck()) { return $this; } . . } SkipEmptySessionCheckプロパティを設定する場所が見つからないので、Mage_Core_Controller_Front_Actionクラスに次のようにパッチを適用しました。 public function postDispatch() { parent::postDispatch(); if …
8 session  login  cookie 

2
Magentoオブザーバー関数を使用してセッションにデータを保存する
オブザーバー関数を使用して、Magentoセッションまたはレジストリにデータを保存することは可能ですか? Mage::getSingleton('core/session')->setFoo('bar'); //Or 'customer/session', 'admin/session' または Mage::register('foo', 'bar'); 追加しようとした sesson_write_close(); しかし、何とかセッションデータを読み取ることができました。

4
異なるドメインのストア間でセッションを共有する
Magentoインストールに3つのWebサイトがあり、それぞれに独自のドメインがあります。 Webブラウザのセキュリティのため、別のドメインのCookieやセッションにはアクセスできません。 どういうわけか、異なるドメインを持つ2つの異なるストア間で一時データを渡すことができる必要があります。 私の特定のユースケース: GeoIPを使用して正しい国のストアへのリダイレクトをトリガーしていますが、これを手動で上書きできるようにする必要もあります。現在、現在のストアをCookieで手動で上書きしているという問題がありますが、他のストアにリダイレクトされたときに、他のストアにCookieがないため、フォールバックしてユーザーを検索しますGeoIPに基づくストア。ただし、これにより、ストア間でリダイレクトする無限ループが作成されます。 これはindex.php、カスタムモジュールで使用するストアのWebサイトコードを理解し、正しいコードでMagentoを実行することによって行われます。これにより、すべてのリダイレクトなどが処理されます。


2
カスタムセッション変数が保存されない
リダイレクト後のセッション変数の保存に問題があります。ここに関連するコードのモックがあります: class Company_X_Model_Session extends Mage_Core_Model_Session_Abstract { const KEY_QUOTE = 'quote'; protected function _construct() { $this->init('company_x'); } public function getQuote() { if (!$this->hasData(self::KEY_QUOTE)) { $quote = Mage::getModel('sales/quote')->setStoreId(Mage::app()->getStore()->getId()); /* @var $quote Mage_Sales_Model_Quote */ if ($this->getQuoteId()) { $quote->load($this->getQuoteId()); } $this->setData(self::KEY_QUOTE, $quote); } return $this->getData(self::KEY_QUOTE); } public function clear() { $this->_quote = null; $this->setQuoteId(null); …

4
Magento 2.1管理者がセッションでログインの問題
Chromeで管理者側にログインした場合、同じmagentoインスタンスでMozillaに正常にログインした場合、Chromeでmagento2.1自動的にログアウトしてメッセージをスローしますSomeone logged into this account from another device or browser. Your current session is terminated. Magento 2.1でこれが発生するのはなぜですか?


2
クーポンコードをURLパラメータとして渡す方法はありますか?
特定のクーポンを有効にするURLを作成したいのですが。クーポンコードをURLパラメータとして渡すだけの簡単な場合もあります。クーポンが渡されたら、チェックアウト時に自動的に入力されます。 クーポンパラメータをセッションにキャプチャして、カートに自動的に適用する方法はありますか?

3
無効になっていても永続的なショッピングカートは機能する
バックエンドでは、「永続化を有効にする」を「いいえ」に設定しています。それでも、1つのブラウザを使用してカートに何かを追加すると、ページの再読み込み後に2番目のブラウザでそれを確認できます。永続的なカートが無効になっている場合、これはどのように機能しますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.