Magento - Как получить пароль клиента (пользователя) - PullRequest
2 голосов
/ 13 мая 2011

Я делаю этот код во внешнем php-файле для получения информации о пользователях:

        $customerCollection = Mage::getResourceModel('customer/customer_collection')
        ->addNameToSelect()
        ->addAttributeToSelect('email')
        ->joinAttribute('postcode', 'customer_address/postcode', 'default_billing', null, 'left')          
        ->joinAttribute('billing_city', 'customer_address/city', 'default_billing', null, 'left')
        ->joinAttribute('billing_region', 'customer_address/region', 'default_billing', null, 'left')
        ->joinAttribute('billing_country_id', 'customer_address/country_id', 'default_billing', null, 'left');

Я хочу также получить в своем запросе пароль пользователей.

Как я могу это сделать ??

Большое спасибо.

Ответы [ 4 ]

4 голосов
/ 13 мая 2011

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

Чтобы предотвратить это, Magento хэширует ваш пароль (используя MD5 или SHA1, в зависимости от вашей версии Magento)и включает в себя значение «соль», чтобы добавить к сложности пароля.Это стандартная криптографическая практика.

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

Если вам нужно войти в систему как пользователь во внешнем интерфейсе, есть модули для этого илиВы можете написать свой собственный.В основном, убедитесь, что у вас есть действующий административный сеанс с разрешением на подключение к учетным записям пользователей, и введите учетные данные для входа в сеанс.Имейте в виду, что это уже проблематично с точки зрения безопасности, но это может быть необходимо для вашего бизнеса.

Если вы пытаетесь войти в другую систему, которую вы контролируете как пользователь, вы в основном застряли в написаниитот же модуль на этой платформе.Если у вас есть / найдена платформа, которая позволяет вам получить пароль пользователя, прекратите его использование, пока этот недостаток не будет исправлен.Это будет огромный красный флаг для любой системы, которая также имеет дело с конфиденциальной информацией (например, информация о клиенте, информация об оплате).

Если у вас есть какие-либо вопросы (или если вы предоставите немного больше информации о том, что вы хотитевыполнить), я буду рад помочь.Надеюсь, это поможет!

Спасибо, Джо

1 голос
/ 30 декабря 2015

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

$customer_password = Mage::getModel("customer/customer")->setWebsiteId(Mage::app()
->getWebsite()->getId())->loadByEmail($customer_email)->getPasswordHash();

надеюсь, это поможет:)

0 голосов
/ 18 февраля 2014

вы можете получить хешированный пароль клиента таким образом (допустим, вы хотите, чтобы клиент зависел от адреса электронной почты):

$customer = Mage::getModel('customer/customer_api');
    $data = $customer->items(array('email' => customeremail));return $data['password'];

надеюсь, это поможет:)

0 голосов
/ 23 июня 2011

я обновил мой код для подключения, как в моем блоге,

, вам просто нужно вставить его в ваш connectasAction в используемом вами контроллере и получить правильный параметр, и он выдаст:

http://benjion.wordpress.com/2011/04/29/magento-se-connecter-en-tant-que-client-depuis-ladmin/

и для тех, у кого проблемы: напишите мне: bnj (at) live.com

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