Domanda

Ho avuto una lotta costante con la possibilità di accedere al sito www.dragondirectsales.com. È un sito magento 1.9.1. Il sito ha un sottodominio, cas.dragondirectSales.com. Tutto sembrava bene finché non abbiamo spostato il sito all'hosting in diretta che stanno attualmente utilizzando.

Da allora, abbiamo combattuto problemi con l'accesso, sia sul front-end (login dei clienti) che sul back-end (admin). Se si tenta di effettuare il login, si rivolge alla schermata di accesso appropriata senza messaggi di errore. Di nuovo questo accade solo per i login dei clienti.

Ogni volta che succede, trascorro ore cercando di risolverlo e riesco a farcela lavorare su ogni caso di prova che riesco a pensare. Poi circa un mese dopo il cliente mi mandano email dicendo che è di nuovo rotto e giurando di non aver toccato nulla nella sezione di amministrazione. Siamo alla quarta volta che ho dovuto risolvere questo, e tutte le precedenti modifiche sembrano ancora essere lì, quindi sono in perdita per ciò che sta causando questo problema.

In questo momento ho il sito utilizzando URL sicuri nella parte anteriore. Il percorso del cookie è vuoto. Il dominio dei cookie è .dragondirectsales.com. Sto usando solo HTTP (iPad ha avuto un problema di accesso separato che questo è stato risolto). La modalità di restrizione dei cookie è impostata su No.

L'unica cosa che è accaduta tra l'ultima volta che funzionava e ora è che abbiamo avuto uno sviluppatore di estensione lavoro sull'estensione parziale di pagamento, e non sono del tutto convinto che il loro lavoro abbia avuto qualcosa a che fare con questo problema. Posso disattivare completamente l'estensione dal modulo XMLS e il problema avviene ancora.

Qualsiasi aiuto è completamente apprezzato!

È stato utile?

Soluzione

Credo di aver finalmente trovato la risposta a questo.

Il trucco era quello di creare l'app di directory / codice / locale / mago / cliente / modello e copiare il file session.php in esso.Il file session.php può essere trovato su app / code / core / mage / cliente / modello.Una volta che il file viene spostato, trova questa sezione:

    public function setCustomerAsLoggedIn($customer)
{
    $this->setCustomer($customer);
    $this->renewSession();
    Mage::dispatchEvent('customer_login', array('customer'=>$customer));
    return $this;
}
.

Commenta il $ questo-> rinnovamento ();Sezione, quindi sembra questo:

    public function setCustomerAsLoggedIn($customer)
{
    $this->setCustomer($customer);
    //$this->renewSession();
    Mage::dispatchEvent('customer_login', array('customer'=>$customer));
    return $this;
}
.

Assicurati di cancellare tutti i cookie di login. Ho provato questo su Chrome, Firefox, e cioè su Windows e Safari su iPad e tutto funzionava come un fascino.

Grazie a questa voce di scambio stack per la risposta: Problema di accesso correlato ai cookie irregolare

Altri suggerimenti

Devi forzare Magento a utilizzare lo stesso dominio dei cookie per gli URL sia sicuri che non sicuri. È possibile ispezionare i tuoi cookie dei siti utilizzando gli strumenti sviluppatori nel browser Firefox o Chrome. Questa soluzione è stata testata su Magento 1.9.2.4

Quando le variabili di gestione dei cookie della sessione non sono impostate in modo errato magento possono creare due cookie "frontend" con diversi domini dei cookie. Ciò avviene in genere durante il processo di accesso quando si dispone di HTTPS (ad esempio. SSL abilitato) per l'URL sicuro. Qui sono valori lavorabili per la configurazione della gestione dei cookie della sessione.

Cookie Life Time: 3600
Cookie Path: /
Cookie Domain : .mydomain.com (The dot prefix is important)
Use HTTP Only : No
Cookie Restriction Mode: No 
.

    .
  1. nel pannello di amministrazione Vai al sistema -> Configurazione -> Gestione dei cookie di sessione
  2. Impostare la configurazione di gestione dei cookie come mostrato sopra
  3. Salva la configurazione e cancella la cache magento
  4. Riavvia il server Web per cancellare le variabili PHP nel caso in cui hai effettuato la modifica direttamente nel database MySQL
  5. Cancella la cache del browser per rimuovere eventuali cookie esistenti associati al tuo sito magento. Questo è importante.
  6. L'utilizzo del prefisso DOT sul dominio dei cookie è importante per evitare che vengano creati i cookie duplicati per l'URL protetto

    La modifica del dominio dei cookie influenzerà anche il cookie "adminhtml" utilizzato dalla parte posteriore del Magento. Assicurati di cancellare la cache del browser per evitare problemi di accesso admin.

    Modifica del codice principale come descritto in un'altra risposta non è necessario quando Yu imposta correttamente la configurazione della gestione della gestione dei cookie della sessione Web.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top