Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Customer Login außerhalb von Magento
 
shop_baum
Jr. Member
 
Total Posts:  13
Joined:  2008-12-15
 

Hallo,
wir haben ein Portal, das über die API auf verschiedene Infos aus Magento zugreift.
Nun möchten wir dort auch den User bzw. Kunden einloggen.

Dies machen wir momentan folgendermaßen:

$session Mage::getSingleton('customer/session');
$session->login $username$passwort );
$session->setCustomerAsLoggedIn($session->getCustomer());
            
$customer $session->getCustomer();
Bei $customer werden dann auch die Daten des jeweiligen Users ausgelesen.

Doch wenn man ins Backend wechselt, wird der User als nicht eingeloggt angezeigt.
Auch wenn man vom Portal aus prüft, ob der User eingeloggt ist, erscheint immer nein.

Weiß jemand, wie man einen User dauerhaft bis zu einem Logout einloggen kann?

Viele Grüsse
Sonja

 
Magento Community Magento Community
Magento Community
Magento Community
 
crak69
Jr. Member
 
Total Posts:  4
Joined:  2009-03-13
Germany
 

Moin, Moin,

dieser Frage möchte ich mich gerne anschliessen. Wir entwickeln eine Website mit dem Symfony-Framework. Magento ist auf der Webseite via iframe verfügbar. Nun soll der User auch eingeloggt sein, nachdem er sich auf unserer Webseite eingeloggt hat.
Userdaten sind bereits erfolgreich in Magento importiert worden.

Ich habe schon versucht, aus dem Feld `session_data` in der Tabelle `core_session` schlau zu werden. Dort sind soweit ich das verstehe,
serialisierte Objekte eingetragen. Allerdings erst, wenn man direkt auf die Magento-Seite gegangen ist.
Den Weg, den shop_baum beschrieben hat, bin ich auch gegangen.

...
include_once 
MAGENTO_ROOT_PATH 'lib/Zend/Loader.php';
include_once 
MAGENTO_ROOT_PATH 'app/Mage.php';
Zend_Loader::registerAutoload (); // Findet sonst die erforderlichen Klassen nicht.
Mage::App();
        
$session Mage::getSingleton('customer/session');
$session->login($sf_user->getUsername() , $sf_user->getPasswd() );
...

Serialisiere ich anschliessend die $session, kann ich darin auch den entsprechenden Benutzer finden.
Wie bekomme ich nun diese Daten in die core_session-Tabelle hinein sowie in den cookie, damit der Customer angemeldet ist,
sobald ich auf den Shop komme( im iframe )?
Welche Konventionen gibt es für das Feld `session_data`? Dort wird immer noch etwas angeführt wie `core|a:6:{...`.

Gruss aus Lübeck,

Heiko

 
Magento Community Magento Community
Magento Community
Magento Community
 
crak69
Jr. Member
 
Total Posts:  4
Joined:  2009-03-13
Germany
 

Nach einigem Rumprobieren mit dem Mage::App() habe ich nun eine Lösung mitttels curl gefunden.
Ich stelle die Datei hier mal als Anregung rein. Vielleicht hilft es ja dem einen oder anderen.
ABER BITTE VORSICHTIG MIT DEM CODE UMGEHEN! Ich übernehme für Eure Projekte keinerlei Verantwortung
und kann auch nicht behaupten, dass der Code umbedingt sicher ist. Es ist nur als Anregung zu verstehen, bestenfalls als Diskussionsgrundlage.

Ich hoffe, ich habe alles ausreichend dokumentiert.

File Attachments
shopLogin.class.php  (File Size: 7KB - Downloads: 194)
 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top