Kami memiliki situs utama di example.com
. Masuk ke example.com/admin
berfungsi dengan baik di sana.
Tetapi pada situs pengujian di test.example.com/admin
saya tidak dapat masuk ke admin tanpa terlebih dahulu menghapus semua example.com
cookie. Kemudian saya bisa masuk, tetapi segera setelah saya masuk ke example.com/admin
klik berikutnya pada server uji menendang saya kembali ke halaman login.
Saya tidak tahu apakah ini memengaruhi login pelanggan.
Apakah ada konfigurasi di situs utama atau situs pengujian yang akan menyelesaikan masalah ini?
magento-1.9
admin
login
cookie
Butkus Buttle
sumber
sumber
.
depan domain, penting!example.com
admin,test.example.com
admin, atau keduanya?example.com
, yang laintest.example.com
. Mereka berdua memiliki admin mereka sendiri . Tetapi Anda hanya memberi tahu saya untuk menetapkan domain untuk salah satu admin. Apakah Anda mengatakan saya harus membiarkan yang lain kosong?test.example.com
dan di toko utama untukwww.example.com
kemudian menghindari cookie yang tumpang tindih.Anna membuat beberapa poin bagus dan jawabannya akan bekerja untuk banyak orang, tetapi tidak untuk saya, jadi saya memposting jawaban saya sendiri. Mungkin masalah saya jauh lebih mendasar daripada yang dia tangani.
Solusi saya adalah mengubah domain situs saya dari
example.com
menjadiwww.example.com
. Bahkan, penelitian saya di internet menunjukkan bahwa alasan situs seperti Amazon, Google, Ebay, dan setiap tujuan web utama lainnya menggunakanwww
awalan mungkin sebagian besar karena cara kerja cookie. Mungkin tidak.Cara default cookie berfungsi adalah bahwa cookie berlaku untuk semua subdomain. Jadi jika
example.com
mengirimi Anda cookie, maka Anda mengunjungimail.example.com
,,smile.example.com
ataudevsite.example.com
, maka browser Anda akan mengirimkan cookie itu ke situs-situs itu dan situs-situs itu akan mencoba menggunakan cookie itu. Tetapi mereka tidak akan dapat menemukan sesi Anda kecuali mereka semua menggunakan folder sesi umum. Dan meskipun begitu, Anda mungkin akan mengalami masalah karena konfigurasi basis data yang berbeda, struktur aplikasi yang berbeda, dll.Membuat perubahan melibatkan pembuatan pengalihan 301 dalam file htaccess root saya, mengubah url aman / tidak aman dalam
core_config_data
tabel database magento , mengubah situsServerName
di ApacheVirtualHosts
, dan memperbarui pengaturan DNS / server nama. Tapi itu layak.Dengan membuat situs utama saya
www.example.com
, cookie-nya sekarang hanya akan berlaku untuk subdomainnya, sepertimail.www.example.com
(dan kami tidak memiliki subdomain semacam itu). Browser klien yang mendapatkanwww.example.com
cookie tidak mengirimnya kedevsite.example.com
, dan masalah ini terpecahkan. Plus itu benar-benar baik untuk memilikiwww
di depan nama domain kami.sumber
Anda cukup mengubah nama cookie adminhtml untuk subdomain.
Dua perubahan dalam file
app/code/core/Mage/Core/Controller/Varien/Action.php
.Di
preDispatch
baris fungsi berubahuntuk
Dalam fungsi
setRedirectWithCookieCheck
berubahuntuk
Dan setelah itu cari teks
di semua file dan ganti dengan
jika ada kejadian akan ditemukan.
sumber
adminhtml
untuk domain tersebut.example.com
. Ketika Anda mencoba mengotorisasi di test.example.com/admin, itu mencoba melakukan sesuatu dengan cookieadminhtml
untuk.test.example.com
. Masalahnya berbeda pada pengaturan Magento. Masalah utama adalah bahwa Anda tidak dapat mengubah cookie dari domain utama dari subdomain. Kode di atas membuat Magento untuk membuat cookieadminhtml
untuk example.com dan cookieadminhtml_subdomain
untuk subdomain.example.com, sehingga mereka tidak akan bercampur dengan cara apa pun. Ubahsubdomain
ke yang benar yang Anda gunakan.Jika Anda masih tidak dapat login ke frontend Anda (sesi pelanggan tidak dapat dibuat) karena masalah cookie, maka silakan ganti file inti masing-masing
dan
Komentari garis yang ditunjukkan di utas ini. Ini telah memperbaiki masalah dengan login pelanggan di frontend di toko versi pra 1.8.x.
/magento//a/34057/695
sumber