Zur├╝ck zum Blog

Kennwort vergessen

­čôů  

Anmeldung per E-Mail

Wir kennen die Situation selbst nur zu gut: Man muss sich auf einer Webseite wieder anmelden, auf der man sich vor Jahren registriert hat und kennt das Kennwort nicht mehr.

Meist kann man sich dann einen Link zusenden lassen, dann das Kennwort neu eingeben, evtl. ein weiteres Email best├Ątigen und sich dann neu anmelden.

Wir haben nun eine ebenso sichere, aber wesentlich schnellere L├Âsung f├╝r die Kunden implementiert. Man gibt bei der Anmeldung wahlweise nur seine E-Mail Adresse ein und erh├Ąlt einen Login-Link per E-Mail der 5 Minuten G├╝ltigkeit hat. Klickt man im E-Mail Client auf den Link, landet man angemeldet im Shop. Wir verzichten weiters darauf, den User zu zwingen, sein Kennwort zu ├Ąndern, er kann dies aber nat├╝rlich freiwillig tun.

Wir haben bereits diese Funkion f├╝r Test-User sch├Ątzen gelernt und nutzen sie so selbst regelm├Ą├čig.


Login Link


Wir haben uns dazu entschlossen, die E-Mailadresse als die User-Identifikation zu verwenden. Wollen Kunden meherere Accouts parrellel benutzen, k├Ânnen Sie dies mit mehreren E-Mail Adressen bequem tun. Die Kennwortverschl├╝sselung ist per Salt gesichert, des bedeutet, dass jedes Kennwort vor der Verschl├╝sselung nochmals mit einem Zufallsstring modifiziert wird. Sollte unsere verschl├╝sselte Kennwortdatenbank in fremde H├Ąnde gelangen, ist damit eine Entschl├╝sselung ├╝ber Rainbow Tables ausgeschlossen. Unter Rainbow Tables versteht man W├Ârterb├╝cher, die zu Kennw├Ârtern und Verschl├╝sselungsalgorithmen Hashtabellen verzeichnen. Man k├Ânnte damit, kennt man ein Kennwort und seinen Hash aus der Tabelle aller Hashes alle Kennw├Ârter unmittelbar entschl├╝sseln.

Javascript Frontend Framework

Für die Kalkulation komplexerer Angebote ist der aktuell implementierte Mechanismus unpraktisch bis nicht tauglich: Jede Änderung, die vom Vertriebsmitarbeiter durchgeführt wird, wird zum Server übertragen. Die Position und das Angebot wird am Server neu berechnet und das Ergebnis wird zu den Browsern von Vertriebsmitarbeiter und Kunde übertragen und die Ansicht aktualisiert.

Um die Sache m├Âglichst fl├╝ssig und schnell zu gestalten, verwenden wir keine klassischen Formulare, die per Post Requests gesendet werden. Dabei w├╝rde anschlie├čend nach ablauf der Controller-Logik die gesamte Webseite am Server neu generiert und dann an die beiden Browser ├╝bermittelt. Wir verwenden schon jetzt Ajax-Requests, bei denen nur die ge├Ąnderten Seitenteile (ÔÇťPartialsÔÇŁ) ├╝bertragen werden und dann vom Browser an die entsprechenden Stellen auf der Webseite eingebaut werden.

F├╝r komplexe Angebote, bei denen viele Parameter f├╝r den Kundenmitarbeiter zu ber├╝cksichtigen sind, ist dieser Vorgang dennoch zu langsam und die Kalkulation am Server m├╝hselig. Wir werden vermutlich f├╝r diesen Fall ein clientseitiges Javascript Framework einsetzen. Die Evaluierung der unterschiedlichen Frameworks ist derzeit im Gang. Wir m├╝ssen besonders auf die Kompatibilit├Ąt zu unserer Hobo-Anwendung achten, m├Âchten wir doch m├Âglichst wenig der existierenden Anwendung ├Ąndern und eine m├Âglichst einfache Weiterentwicklung betreiben.

So ein Framework wird es im Gegensatz zu den bisher erstellten Seiten dem Browser erm├Âglichen, die Struktur der Daten zu verstehen und den Server Arbeit abnehmen k├Ânnen. Erst die Ergebnisse werden dann an den Server ├╝bertragen, ├╝berpr├╝ft und auf die Datenbank persistiert sowie zum Kunden ├╝bertragen.

Weiteres

Die Installation des ersten Referenzsystems hat begonnen.

Zur├╝ck zum Blog