Benutzer nicht mehr die letzten 5 Passwörter verwenden?

8

Ich habe eine Anforderung, einen Benutzer zu zwingen, das Passwort nach 90 Tagen zu ändern. Dies funktioniert gut mit etwas wie dem Folgenden:

%Vor%

Eine weitere Anforderung, die ich habe, ist, dass die letzten 5 Passwörter, die ein Benutzer benutzt hat, nicht wiederholt werden können - ist asp.net mit so etwas eingebaut? Ich kann nichts in der aspnet db Tabelle sehen, in der letzte vorherige Kennwörter gespeichert werden. Ist es eine Sache von mir, die letzten Passwortwerte in meiner eigenen db-Tabelle zu speichern und dann einen Vergleich mit dem neuen Passwortfeld zu machen, das mit den Werten für den Benutzer in meiner eigenen db-Tabelle eingegeben wurde?

    
Ctrl_Alt_Defeat 25.02.2013, 11:00
quelle

1 Antwort

13

Wie Sie gesehen haben, ist nichts eingebaut, deshalb müssen Sie die vorherigen Passwörter für einen Benutzer speichern und diese Liste überprüfen, um sicherzustellen, dass sie keins wiederverwenden.

Ich würde alle vorherigen Passwörter speichern. Das bedeutet, dass Sie alte Daten nicht aus der Tabelle löschen müssen, wenn sie 5 Änderungen vornehmen, und wenn sich die Anforderung dahingehend ändert, dass die letzten 10 oder 15 Änderungen, die Sie erhalten, nicht wieder verwendet werden.

Sie können das verschlüsselte / verschlüsselte Passwort speichern und überprüfen, dass es keine Möglichkeit gibt, die reine Textversion aus Ihrem System zu entfernen.

Ich hätte eine Tabelle mit "UserId", "Password" und "DateChanged". Dann können Sie die letzten N Passwörter für diesen Benutzer finden und die hashed / chiffrierte Version des neuen Passworts mit dieser Liste vergleichen:

%Vor%

Dies gibt true zurück, wenn das Passwort bereits verwendet wurde.

    
ChrisF 25.02.2013 11:04
quelle

Tags und Links