Изменить поле пароля клиента Magento - PullRequest
0 голосов
/ 08 марта 2012

Может кто-нибудь объяснить, как работает регистрация клиента magento.

На самом деле, у меня немного странная ситуация. Мне нужно скопировать всех клиентов с существующего веб-сайта на новый веб-сайт magento (я хочу, чтобы мои клиенты использовали один и тот же пароль для входа на новый веб-сайт). Я знаю, как пароли были зашифрованы на старом сайте (используя обычную функцию php encrypt () с солью), но я не могу их расшифровать. Поэтому я подумал о добавлении нового поля в учетной записи клиента под названием «oldpassword» (я следовал за этим блогом, чтобы создать новое поле в учетной записи клиента). Теперь я хочу при импорте клиентов сохранить старые зашифрованные пароли в поле «oldpassword». Когда клиент пытается войти, он должен сопоставить пароль с полем oldpassword, используя старый метод шифрования. Если пароль совпадает, он должен сгенерировать стандартный magento пароль и сохранить его в поле пароля по умолчанию. Поэтому в следующий раз, когда клиент пытается войти в систему, он должен проверить, не является ли поле пароля по умолчанию не пустым, а затем просто войти в систему как обычно.

ДОБАВЛЕНО

Все еще ждет помощи

Я перезаписал customer-> advanceContoller, но не совсем уверен, какие изменения необходимо внести в loginPostAction.

1 Ответ

1 голос
/ 16 марта 2012

Перейдите на страницу: приложение / код / ​​ядро ​​/ маг / клиент / модель / клиент.php

Вы можете увидеть функцию public function authenticate($login, $password)

Также вы можете увидеть

 /**
     * Validate password with salted hash
     *
     * @param string $password
     * @return boolean
     */
    public function validatePassword($password)
    {
        if (!($hash = $this->getPasswordHash())) {
            return false;
        }
        return Mage::helper('core')->validateHash($password, $hash);
    }


    /**
     * Encrypt password
     *
     * @param   string $password
     * @return  string
     */
    public function encryptPassword($password)
    {
        return Mage::helper('core')->encrypt($password);
    }

    /**
     * Decrypt password
     *
     * @param   string $password
     * @return  string
     */
    public function decryptPassword($password)
    {
        return Mage::helper('core')->decrypt($password);
    }

Пожалуйста, проверьте этот файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...