Geschafft!

Hinweis

Fehler

Session expiration Your session is going to expireClick here to extend

Budget:

Kleines Projekt <800

Geposted am

23.02.12 10:25

Kunde

Blö***

Die Angebotsphase ist beendet

Schreiben Sie ein ähnliches Projekt aus und erhalten Sie Angebote von Freelancern. Unverbindlich. Kostenlos. Schnell.

Jetzt ähnliches Projekt einstellen

Beschreibung:

 

Wir benötigen eine Joomla-Erweiterung über die sich registrierte Joomla!-Benutzer mittels eines verschlüsselten Links in einen Webshop einloggen können ohne sich erneut anmelden zu müssen.

 

Folgende Daten müssten dafür mindestens übergeben werden:

 

Username (customer_user_name), Name (customer_longname)

, Gruppen-ID (customer_user_budgetgruppe__id ), Firma (customer_user_company1)

Im Modul müssen die Ziel URL und folgende Variablen definiert werden können:

 

dest_page, sprache, customer_user_level, customer_user_businessunit,
passphrase, qty, skip_cart

 

Jetzt folgt eine Beschreibung der SSO-Schnittstelle des Webshops:

 

Mittels der SSO-Schnittstelle kann eine automatisierte Registrierung und Anmeldung von Benutzern vorgenommen werden. In der Regel wird die Schnittstelle dazu verwendet, dass die Daten von einem Kundensystem (z.B. durch ein CMS oder CRM-System, Intranet oder Procurementplattform) aufbereitet werden. Über einen Link mit speziell verschlüsselten Parametern (GET) wird die Printlounge aufgerufen. Der Link lautet wie folgt: http://www.shopdomain.de/autologin.php?u_data=XXX Dabei muss XXX mit den verschlüsselten Daten ersetzt werden. Sofern die Daten erfolgreich verarbeitet wurden, wird der Benutzer am System angemeldet und kann die Printlounge normal nutzen. Die übermittelten Daten müssen mittels Rijnadel-256 verschlüsselt sein. Die zu übermittelnden Daten müssen (vor der Verschlüsselung) in einen URL-kodierten Query-String gewandelt werden. Folgende Daten können übermittelt werden:

 

customer_user_budgetgruppe__id      int(10)
customer_user_name (*)              varchar(50)
customer_longname                   varchar(50)
customer_user_businessunit          varchar(50)
customer_user_purchaser             varchar(20)
customer_user_company1              varchar(200)
customer_user_company2              varchar(200)
customer_user_company3              varchar(200)
customer_user_street                varchar(200)
customer_user_zip                   varchar(200)
customer_user_town                  varchar(200)
customer_user_country               varchar(200)
customer_user_costcenter            varchar(200)
customer_user_telefon               varchar(50)
customer_user_telefax               varchar(50)
customer_user_email                 varchar(100)
customer_user_internet              varchar(100)
customer_user_mobil                 varchar(50)
customer_user_kundennummer          varchar(100)
customer_user_level                 int(11)
freigabeportal_zeigen               int(11)
customer_user_aussendienst          varchar(255)
sprache                             varchar(20)


customer_user_level    = Kontotyp. Mögliche Werte:
57: A - Benutzer (Standard)
58: B - Supervisor
59: C - Verwaltung
60: X - Interessenten

freigabeportal_zeigen. Mögliche Werte:
53: Ja
54: Nein (Standard)

sprache. Mögliche Werte:
de: Deutsch (Standard)
en: Englisch

Zum Direktaufruf einer Warengruppe oder Artikelpersonalisierung:
dest_page = Zielseite, welche aufgerufen werden soll. Mögliche Werte:
wg: Eine Warengruppenseite
pers: Eine Personalisierungsseite

dest_id = Die ID des Eintrags (Warengruppe oder Artikel)
qty     = Die Anzahl aus der Preisstaffel (Wird 
keine Anzahl übermittel, ermittelt das System die kleinste
 Preisstaffel für den jeweiligen Artikel)
skip_cart = 53 ; Bewirkt das nach der Personalisierung die 
Bestellung automatisch abgeschickt wird
(*) = Pflichtfelder
 

 

Wird keine Budgetgruppe übergeben, wird der Benutzer in einer definierten Standardbudgetgruppe angelegt. Gleiches gilt, wenn das System anhand der ID keine gültige Budgetgruppe ermitteln kann. Nach der Anmeldung am System stehen alle Funktionen wie gewohnt zur Verfügung, als ob der Benutzer sich regulär angemeldet hätte. Optional kann die reguläre Anmeldung mit Benutzernamen und Kennwort deaktiviert werden, sodass Benutzer nur noch über die Schnittstelle ins System gelangen können. Beispiel zum Verschlüsseln mit PHP:

 

$u_data["customer_user_name"] = "max@mustermann.de";
$u_data["customer_longname"] = "Max Mustermann";
$u_data["customer_user_company1"] = "Mustermann GmbH";
$string = http_build_query($u_data);

$encoded_string = encrypt ($string, "Hier steht die geheime 
Passphrase");

$encoded_string = urlencode ($encoded_string);

function encrypt($text, $passphrase)
{
    return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, 
$passphrase, $text, MCRYPT_MODE_ECB, 
    mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, 
MCRYPT_MODE_ECB), MCRYPT_RAND))));
}