Не удается войти в систему после установки расширения

10

Заранее извиняюсь за тонкие детали на этом.

Я продаю расширение Magento. С последней версией я начал получать странные сообщения об ошибках от нескольких пользователей. В частности, после установки расширения они сообщают, что не могут войти в систему администратору, запросы на вход перенаправляются обратно на страницу входа и не отображаются сообщения об ошибках.

Итак, это звучит как классическая проблема «не могу установить cookie / создать экземпляр сеанса». Странно, что они могут войти через 3 - 12 часов (это оценка). Другими словами, они сталкиваются с проблемой, свяжитесь со мной для поддержки, я пишу в ответ, они сообщают, что проблема исчезла. Я также предполагаю, что очистка их файлов cookie и установление нового идентификатора сеанса устранят проблему, и рекомендую то же самое пользователям, с которыми они сталкиваются.

Кто-нибудь здесь сталкивался с чем-то подобным или может придумать причину, по которой это происходит? Я не могу воссоздать проблему локально, но я получил достаточно сообщений, что я убежден, что это законная проблема.

Алан Сторм
источник
2
Да, время от времени, после игры с конфигурацией, файлами cookie, xdebug и т. Д. Не спрашивайте меня, что происходит в деталях.
Фабиан Блехшмидт
2
Я испытываю эту проблему время от времени. Очистка куки помогает. Не уверен, что корень этой проблемы. Wild догадка L: общий размер файлов cookie для этого домена превышает лимит, и браузер не принимает новые файлы cookie от magento после входа в систему.
Дмитрий Завалкин
2
Я получаю эту проблему - кажется, что в Chrome хуже, чем в FF (как в, он появляется чаще). Хотя я использую более старую версию EE (1.10.1.1), поэтому она может быть не связана.
Чедди
2
У меня эта проблема исключительно в Chrome. Очистка файлов cookie помогает, и, как ни странно, сайты, на которых это выглядит хуже всего, являются хранилищем сеансов файловой системы. Возможно, что-то связано со сборкой мусора?
Philwinkle
2
Это вполне может быть связано с ошибкой «неверное время сервера». Chrome страдает от этого особенно, потому что он делает дополнительную проверку файлов cookie. Попросите своих клиентов синхронизировать время на их сервере.
Даниэль Слооф

Ответы:

8

Десять месяцев спустя, я почти уверен, что эта ошибка была вызвана созданием объекта сеанса слишком рано в жизненном цикле запросов Magento (через наблюдателя). Если сеанс создается слишком рано, имя cookie PHP будет PHPSESSIDвместо adminhtmlили frontend.

Это не остановит работу системы, но в некоторых условных кодовых путях, где cookie уже был установлен, это может привести к неправильному чтению / записи токена входа в систему в сеансе, что приведет к ошибкам «Я не могу войти».

Полное объяснение слишком длинное для одного ответа Stack Exchange, но вы можете найти его здесь, если вам интересно. (сама-ссылка)

Алан Сторм
источник
2

Как сказал Дэниел Слоф, убедитесь, что время на сервере правильное. Это помешало мне войти в прошлом. После сброса времени на сервере убедитесь, что ваши сеансы (и кэш для хорошей меры) хранятся в браузере и в установке Magento.

Мартейн Шот
источник