Magento 1.9 Ограничить учетную запись клиента для определенного IP
Один из наших клиентов хочет ограничить доступ нескольких учетных записей клиентов только с работы. (Фиксированный Ip)
Это не может быть решено с помощью htaccess, и я ни в коем случае не эксперт Magento. Я не нашел что-то полезное в Google, поэтому любая помощь будет так цениться.
С уважением.
1 ответ
Мне нравится идея, я чувствую себя странно, когда думаешь о сценариях использования, но реализация вполне выполнима.
Если мы говорим о клиентах, вы можете использовать customer_customer_authenticated
событие. После запуска это означает, что пользователь пытается войти с правильными учетными данными.
В этот момент вы должны проверить удаленный адрес, подтвердить его список IP-адресов, занесенных в белый / черный список, и выдать исключение (Mage::throwException('..')
) с сообщением на случай, если вы хотите запретить пользователю вход в систему.
Одним из параметров, передаваемых наблюдателю событий, является экземпляр модели клиента, так что это круто...
Если вы говорите о администраторах, вы можете сделать довольно похожую вещь с admin_user_authenticate_after
событие.
В обоих случаях у вас должен быть свой атрибут для каждого клиента / администратора, где администраторы магазина могут перечислять IP-адреса из белого или черного списков.
Осторожно, чтобы не запереть себя.;)