Magento 1.9 Ограничить учетную запись клиента для определенного IP

Один из наших клиентов хочет ограничить доступ нескольких учетных записей клиентов только с работы. (Фиксированный Ip)

Это не может быть решено с помощью htaccess, и я ни в коем случае не эксперт Magento. Я не нашел что-то полезное в Google, поэтому любая помощь будет так цениться.

С уважением.

1 ответ

Решение

Мне нравится идея, я чувствую себя странно, когда думаешь о сценариях использования, но реализация вполне выполнима.

Если мы говорим о клиентах, вы можете использовать customer_customer_authenticated событие. После запуска это означает, что пользователь пытается войти с правильными учетными данными.

В этот момент вы должны проверить удаленный адрес, подтвердить его список IP-адресов, занесенных в белый / черный список, и выдать исключение (Mage::throwException('..')) с сообщением на случай, если вы хотите запретить пользователю вход в систему.

Одним из параметров, передаваемых наблюдателю событий, является экземпляр модели клиента, так что это круто...

Если вы говорите о администраторах, вы можете сделать довольно похожую вещь с admin_user_authenticate_after событие.

В обоих случаях у вас должен быть свой атрибут для каждого клиента / администратора, где администраторы магазина могут перечислять IP-адреса из белого или черного списков.

Осторожно, чтобы не запереть себя.;)

Другие вопросы по тегам