Temos um site principal em example.com
. Fazer login example.com/admin
funciona bem lá.
Porém, em um site de teste em test.example.com/admin
Não consigo fazer login no administrador sem primeiro excluir todos os example.com
cookies. Então eu posso entrar, mas assim que eu entrar no example.com/admin
meu próximo clique no servidor de teste me levará de volta à página de login.
Não sei se isso afeta os logins do cliente.
Existe alguma configuração no site principal ou no site de teste que resolva esse problema?
magento-1.9
admin
login
cookie
Buttle Butkus
fonte
fonte
.
frente do domínio, é importante!example.com
administrador, notest.example.com
administrador ou em ambos?example.com
, o outrotest.example.com
. Ambos têm seus próprios administradores. Mas você está apenas me dizendo para definir um domínio para um dos administradores. Você está dizendo que eu deveria deixar o outro em branco?test.example.com
e na loja principalwww.example.com
para evitar sobreposição de cookies.Anna faz alguns pontos positivos e sua resposta funcionará para muitas pessoas, mas não para mim, por isso estou postando minha própria resposta. Talvez meu problema fosse muito mais fundamental do que o que ela aborda.
Minha solução foi alterar o domínio do meu site de
example.com
parawww.example.com
. De fato, minha pesquisa na internet sugere que sites como Amazon, Google, Ebay e todos os outros destinos importantes da Web usam owww
prefixo podem ser em grande parte devido à maneira como os cookies funcionam. Talvez não.A maneira padrão em que um cookie funciona é que ele se aplica a todos os subdomínios. Portanto, se
example.com
você enviar um cookie, você visitarámail.example.com
,smile.example.com
oudevsite.example.com
seu navegador enviará esse cookie para esses sites e esses sites tentarão usá-lo. Mas eles não poderão encontrar sua sessão, a menos que todos usem uma pasta de sessão comum. E mesmo assim, você provavelmente terá problemas devido a diferentes configurações de banco de dados, diferentes estruturas de aplicativos etc.Fazer a alteração envolvia a criação de redirecionamentos 301 no meu arquivo htaccess raiz, alteração dos URLs seguros / inseguros na
core_config_data
tabela de banco de dados magento , alteração do siteServerName
no ApacheVirtualHosts
e atualização das configurações de DNS / servidor de nomes. Mas valeu bem a pena.Ao criar meu site principal
www.example.com
, seus cookies agora se aplicariam apenas a subdomínios, comomail.www.example.com
(e não temos nenhum subdomínio). Os navegadores clientes que recebem owww.example.com
cookie não o enviamdevsite.example.com
e o problema foi resolvido. Além disso, é muito bom ter umwww
na frente do nosso nome de domínio.fonte
Você pode simplesmente alterar adminhtml nome do cookie para subdomínios.
Duas mudanças no arquivo
app/code/core/Mage/Core/Controller/Varien/Action.php
.Nas
preDispatch
linhas de mudança de funçãopara
Na
setRedirectWithCookieCheck
mudança de funçãopara
E depois dessa pesquisa por texto
em todos os arquivos e substitua-o por
se alguma ocorrência fosse encontrada.
fonte
adminhtml
do domínio.example.com
. Quando você tenta autorizar a test.example.com/admin, ele tenta fazer algo com o cookieadminhtml
para.test.example.com
. Os problemas diferem nas configurações do Magento. O principal problema é que você não pode modificar o cookie do domínio principal a partir do subdomínio. O código acima faz com que o Magento crie cookiesadminhtml
para example.com e cookiesadminhtml_subdomain
para subdomínio.exemplo.com, para que eles não se misturem de forma alguma. Mudesubdomain
para o correto que você usa.Se você ainda não conseguir fazer login no seu front-end (a sessão do cliente não pode ser criada) devido aos problemas de cookies, substitua o respectivo arquivo principal
e
Comente as linhas apontadas neste tópico. Isso corrigiu o problema com o login do cliente no front-end na loja da versão anterior à 1.8.x.
/magento//a/34057/695
fonte