Hallo,
ich versuche eben alle relevanten Kunden unserer Kundendatenbank in unsere OTRS-Datenbank zu speichern. Ich mache das über eine Procedure in der Datenbank. Über diese werden die Insert-Statements ausgeführt, um einen neuen Kunden anzulegen. Das wird also alles über SQL gemacht und nicht über die Oberfläche, weil es sich um ein paar hundert Leute handelt. Meine Frage hierzu ist nun wie ich das Passwort abspeichern soll. Dieses wird ja verschlüsselt. Angenommen das Passwort lautet 123User! wie komme ich dann zu dem Wert, der in der Tabelle Customer_User gespeichert werden soll, damit sich der Kunde mit ebenjenen Passwort anmelden kann?
Danke für eure Zeit.
Kundenpasswort in Datenbank speichern
Re: Kundenpasswort in Datenbank speichern
Hallo Urbain,
geh mal in die SysConfig.
Dort gehst du in die Einstellungen für Frontend::Customer::Auth
Dort kannst du einstellen, welche Variante dein Passwort sein sollte.
Standard-Einstellung ist MD5.
Ich würde dir auch empfehlen, es auf md5 zu stellen. Die Option unverschlüsselt ist fahrlässig.
Die Verschlüsselung kannst du sogar direkt mit deinem Insert Befehl vornehmen:
Beim Insert umklammerst du einfach das Textfeld, in dem das Passwort stehst und setzt ein md5 davor.
Beispiel:
INSERT INTO customer_user (name,vorname,passwort,email) VALUES ('mustermann','max',MD5('123User!'),'max@mustermann.de');
Liebe Grüße
martis
geh mal in die SysConfig.
Dort gehst du in die Einstellungen für Frontend::Customer::Auth
Dort kannst du einstellen, welche Variante dein Passwort sein sollte.
Standard-Einstellung ist MD5.
Ich würde dir auch empfehlen, es auf md5 zu stellen. Die Option unverschlüsselt ist fahrlässig.
Die Verschlüsselung kannst du sogar direkt mit deinem Insert Befehl vornehmen:
Beim Insert umklammerst du einfach das Textfeld, in dem das Passwort stehst und setzt ein md5 davor.
Beispiel:
INSERT INTO customer_user (name,vorname,passwort,email) VALUES ('mustermann','max',MD5('123User!'),'max@mustermann.de');
Liebe Grüße
martis
PLease delete this account
Thx

Re: Kundenpasswort in Datenbank speichern
Hallo,
danke für deine Hilfe. Allerdings glaube ich, ist es mit MD5('irgendwas') alleine nicht getan. Ich führe zum Beispiel
folgenden Code aus:
In der Tabelle ist dann der Wert '958ab32ed6bb9fc202f501a961ac3617' gespeichert. Wenn ich allerdings über die Oberfläche einem Benutzer das Passwort '123User!' zuweise, dann wird in der Tabelle nicht die oben genannte Prüfsumme gespeichert. Ich habe das mal für die beiden Testbenutzer 'peter.pinsel' und 'paula.pflaume' gemacht. Gespeichert wird hier dann '$1$peter.pi$N2eyyt8fu6eO09ztgoIRc.' und '$1$paula.pf$fsXbonkgMB385F0w4EluW1'. Es hat also den Anschein, als würde bei der Berechnung der Prüfsumme nicht nur das Passwort herangezogen werden. Auch der Login-Name wird miteinbezogen. Die Prüfsumme wird aber nicht einfach an '$1$<login>$' angehängt, weil ja die nachfolgende Zeichenketten nicht ident sind. Ich weiß nun nicht wie ich hier vorgehen soll, also wie ich nun zu diesen Prüfsummen komme.
Für weitere Hilfe bin ich sehr dankbar
danke für deine Hilfe. Allerdings glaube ich, ist es mit MD5('irgendwas') alleine nicht getan. Ich führe zum Beispiel
folgenden Code aus:
Code: Select all
insert into test.foo values(md5('123User!'));
select * from test.foo;
Für weitere Hilfe bin ich sehr dankbar

Re: Kundenpasswort in Datenbank speichern
Ich machs nur ungern, aber ich schiebe den Beitrag wieder ein bisschen nach oben. Weiß denn keiner Rat in dieser Sache? Wäre wirklich wichtig.
Vielen Dank schonmal im Voraus.
EDIT: Ich habe nun ein bisschen herumprobiert und das Ändern des verwendeten Algorithmus ist die Lösung. Wenn man beispielsweise SHA1 verwendet, dann wird standardmäßig kein Salt verwendet, was das Ergebnis nachvollziehbar macht. Zwar sollte man ja immer einen Saltwert verwenden, aber wenn es undurchsichtig ist, wie hier nun genau vom System vorgegangen wird, ist es schwierig Passwörter in die OTRS-Datenbank zu übertragen, bzw. über SQL anzulegen. Also für alle die dasselbe Problem haben, mit SHA1 funktioniert alles wie erwartet.
Vielen Dank schonmal im Voraus.
EDIT: Ich habe nun ein bisschen herumprobiert und das Ändern des verwendeten Algorithmus ist die Lösung. Wenn man beispielsweise SHA1 verwendet, dann wird standardmäßig kein Salt verwendet, was das Ergebnis nachvollziehbar macht. Zwar sollte man ja immer einen Saltwert verwenden, aber wenn es undurchsichtig ist, wie hier nun genau vom System vorgegangen wird, ist es schwierig Passwörter in die OTRS-Datenbank zu übertragen, bzw. über SQL anzulegen. Also für alle die dasselbe Problem haben, mit SHA1 funktioniert alles wie erwartet.