Es gibt verschiedene Module, welche den Hash-Algorithmus zur Passwortverschlüsselung implementieren, z.B. Crypt::PasswdMD5
Das ist jedoch nicht alles. Du musst Dir darüber im Klaren sein, wie Du das aufbaust, das Scheme Benutzergruppen und Benutzer selbst. Und wo Du diese Daten persistent speicherst, das kann in einer Datei erfolgen oder in einer DB, auch dafür gibt es CPAN Module.
Ja, und dann brauchst Du noch eine oder Mehrere Schnittstellen zur "Benutzerverwaltung", komandozeilenorientiert oder per Web/CGI.
Such mal auf CPAN nach realm, htpasswd. Eine Apache-Passwort-Datei lässt sich vom Aufbau und Syntax her für eine eigene Benutzerverwaltung verwenden (NICHT Authorization Basic).
PS/EDIT: Wo ich gerade dabei bin, mein kleines Framework zu überarbeiten; meine Login-Tabelle sieht so aus:
$Session_ID => {
level => 2,
time => $Zeitstempel,
user => $Username,
};
Somit können also zur Session_ID mehrere Anmeldungen vorliegen, die Session_ID ist eindeutig und liegt sowohl im Response-Objekt als auch im Cookie. Ein Response-Objekt zu haben ist eine feine Sache, das hat die Login-Tabelle als Eigenschaft (Hash-Referenz). Meine Login-Tabelle ist mit tie() an eine Binärdatei gebunden, dafür habe ich eine extra Tie-Klasse.
Die Passwort-Datei ist ähnlich aufgebaut, also ein Hash of Hashes mit dem Benutzernamen als Key und die Attribute sind das gehaschte Passwort sowie die Benutzergruppe (Level).
Last edited: 2012-01-07 21:18:49 +0100 (CET)