2011-05-27 11 views
5

Estoy escribiendo un servicio web para la comunicación entre un dispositivo móvil y magento, estoy usando servicios web SOAP que proporciona Magento, sin embargo, estoy perdido en la autenticación de usuario, necesito autenticar el usuario de mi sistema (no el usuario de la API). ¿Hay alguna pista sobre esto?Magento SOAP WebService -> Usuario Login

+0

Si estoy entendiendo correctamente desea utilizar una cuenta "admin" para autenticar los servicios web? Puede ofrecer algo de ayuda: http://www.yireo.com/tutorials/magento/magento-programming/629-connecting-to-magento-with-soap-part-1 – B00MER

+3

No, eso es lo que ya hice, quiere autenticar una cuenta de 'usuario' de esa cuenta de 'administrador', espero que entienda el punto. –

+0

Parece ser una tradición no señalar esta diferencia fundamental de apis en el manual respectivo. – John

Respuesta

1

No puede usar SOAP Api para registrar una cuenta de usuario en magento ya que no es compatible con esa característica, tiene que abordarlo de otra manera, tal vez anulando el archivo controlador en Mage Customer named AccountController.php.

Intenta agregar un nuevo método que pueda comunicarse con el servidor con la variable JSON.

-1

No, no puedes hacer eso. Si tiene acceso a archivos a través de FTP, puede obtener get_file_content del archivo de configuración de la base de datos y luego conectarse a la base de datos desde una fuente externa y realizar una comprobación de acceso del usuario.

Realícelo bajo su responsabilidad. Puede que no sea válido. ¡Pero puedes intentar eso!

1

Puede utilizar la API REST para autenticar al cliente. http://www.magentocommerce.com/api/rest/introduction.html

Este enfoque parece ser más conveniente, ya que puede recibir una lista de productos con reglas de catálogo aplicadas para clientes que hayan iniciado sesión (digamos aplicados por grupo de clientes). La API SOAP no proporciona dicha función (solo puede recibir la lista de productos como usuario administrador).

1

Utilice esta

$mageFilename = 'app/Mage.php'; 
require_once $mageFilename; 
$app = Mage::app('default'); 
Mage::app(); 
$user = "[email protected]"; 
$pass = "admin123"; 
$session = Mage::getSingleton('customer/session'); 
    Mage::app()->getStore()->setWebsiteId(1); 
    try 
    { 
     $session->login($user, $pass); 
     $customer = $session->getCustomer(); 
     //echo "valid"; 
     $userID = $session->getCustomer()->getId(); 
    $return_array['customer_id'] = $userID; 
     $return_array['status'] = 1; 
     $return_array['message'] = "Login is valid"; 
     echo json_encode($return_array); 
     } catch(Exception $e) { 
      $return_array['status']= 0; 
     $return_array['message']="Login is invalid"; 
     echo json_encode($return_array); 
       } 
Cuestiones relacionadas