Double Opt In

DarkGuardian

Mitglied
Hi

Ich hoffe, dass ich hier im richtigen Unterforum dafür bin. Für mein aktuelles Projekt brauche ich ein "Double Opt In"-Verfahren, um eine Anmeldung durchzuführen. Am liebsten wäre es mir, wenn das Ganz algorithmisch gelöst wird. Dann brauche ich keine zusätzlichen IDs o.Ä. irgendwo speichern.

Kennt jemand dafür ein bestehendes Paket oder wie läst sich sowas leicht und elegant lösen?
Achja, und ist es sinnvoll, dieses direkt im Webtier zu lösen oder sollte sowas sicherheitstechnisch besser woanders erfolgen (dann wo?)?

DG
 

Tobias

Top Contributor
Mir ist zwar nicht klar, was du genau meinst mit "algorithmisch lösen", aber üblicherweise wird der Datensatz zunächst einmal gespeichert und dabei mit einem Flag versehen, dass das Double-Opt-In noch nicht erfolgt ist. Dann wird eine Email o. ä. verschickt, welche einen Link enthält, den der Benutzer anklicken soll, um seine Registrierung zu bestätigen. Dieser Link enthält als Parameter die Id des gerade gespeicherten Datensatz.
Wenn der Link also angeklickt wird, wird der Datensatz dahingehend aktualisiert, dass das Double-Opt-In-Flag auf "durchgeführt" umgelegt wird.
 

DarkGuardian

Mitglied
Hallo Tobias

Vielen Dank für deine Erklärung. Aber ansich weiß ich, wie dieses Verfahren funktioniert. Daher muss ich meine Frage wohl genauer stellen. Der Schwerpunkt meiner Frage liegt nämlich im algorithmischen Teil, zu den du eh gefragt hast.

Eine eindeutige ID habe ich eh für jeden Account. Nun möchte ich diese aber nicht direkt im Link als Aktivierungsparameter hinterlegen, denn das halte ich für zu unsicher. Daher suche ich eine Möglichkeit, einen Link mit Parametern zu generieren, aus dem ich auf die zu aktivierende ID schließen kann. Aber wahrscheinlich ist es am einfachsten, diesen zu verschlüsseln bzw. einen Hashwert dazu zu übermitteln. Daraus kann ich dann wieder auf meine ID schließen, die sich dann leicht als freigeschaltet markieren lässt.

Also liege ich auch richtig in der Annahme, dass dieser Anteil im Webtier umgesetzt werden sollte? Die Freischaltung leite ich natürlich an einen Dienst weiter. Aber der Abgleich des aufgerufenen Links ermittelt man dort?
 

Tobias

Top Contributor
Naja, ich würde den eigentlichen Abgleich der Ids und das Umsetzen des Flags in eine Methode in der Service-Layer hinter der eigentlichen Präsentationsschicht auslagern. Schon allein, weil da Sachen passieren müssen wie Datenbankzugriffe etc.

Die Id des Datensatzes kann man IMHO ruhig im Klartext übertragen, um ein bißchen zusätzliche Sicherheit zu generieren, kann man ja Benutzername und irgendein anderes Merkmal in einem String zusammenpacken und darüber einen Hash bilden, den man zwecks Authentifizierung ebenfalls mit verschickt.
 

DarkGuardian

Mitglied
Hi Tobias

OK, welche Daten ich als Parameter mitgebe und ob ich dazu einen Hashwert o.Ä. ermitteln werde, schau ich noch mal. Ansich will ich nur das Ermitteln der ID (und evtl. weitere Parameter) im Webtier erledigen. Der Zugriff auf die Datenbank sowie ein Abgleich der Daten und damit die eigentliche Freischaltung erfolgt natürlich in einer tieferen Ebene.

Vielen Dank für deine Rückmeldungen, denn so konnte ich mir ein besseres Bild des Problems machen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S EL double auf Eingabe checken Web Tier 3
N Double Attribute in ManangedBean 0.0 Web Tier 6

Ähnliche Java Themen


Oben