Dieses Tutorial zeigt, dass das Erstellen einer Benutzerregistrierung und eines Anmeldesystems in einer Webanwendung node.js erstellt wird. Wir werden die Eingabevalidierung und das Kennwort für erweiterte Sicherheit abdecken.
Anwendungsaufbau
Beginnen Sie mit der Erstellung eines Projektverzeichnisses (z. B. "Site-Auth"). Initialisieren Sie NPM in diesem Verzeichnis:
npm init -y
Passwortvalidierung verwendet einen regulären Ausdruck /^[a-zA-Z0-9]{6,30}$/
, der 6-30 Zeichen erzwingt, die aus alphanumerischen Zeichen bestehen.
Die Daten des Registrierungsformulars sind über result
zugänglich. Validierungsfehler führen zu einer Fehlermeldung und Umleitung zur Registrierungsseite. Es werden auch doppelte E -Mail -Adressen verhindert. Entscheidend ist, dass Kennwörter mit BcRypt vor Datenbankspeicher unterbrochen werden:
result.value.password = hash
Eine erfolgreiche Registrierung zeigt eine Erfolgsnachricht an und leitet sich auf die Anmeldeseite weiter. Starten Sie den Server mit:
node app.js
Zugriff auf die Registrierungsseite unter https://localhost:5000
.
Anmelde-Implementierung
Die Anmeldefunktionalität wird zu /routes/users.js
hinzugefügt. Ein Login -Validierungsschema wird mit Joi definiert:
const loginSchema = Joi.object().keys({ email: Joi.string().email().required(), password: Joi.string().regex(/^[a-zA-Z0-9]{6,30}$/).required() });
Die Anmelderoute bearbeitet sowohl Get (Rendern der Anmeldeseite) und Post (Verarbeitungsanmeldeversuche) Anforderungen:
router.route('/login') .get((req, res) => { res.render('login') }) .post(async (req, res, next) => { // ... (login validation and password comparison logic) ... });
erfolgreiche Anmeldung leitet zu einem Dashboard um.
Dashboard -Implementierung
Eine einfache Dashboard -Route wird zu /routes/index.js
:
router.get('/users/dashboard', (req, res) => { res.render('dashboard') });
Schlussfolgerung
Dieses Tutorial bietet eine Grundlage für die sichere Benutzerauthentifizierung in Node.js -Anwendungen. Denken Sie daran, die Benutzereingabe und sichere Hash -Passwörter immer zu validieren. Der vollständige Quellcode ist auf GitHub verfügbar. Dieses Tutorial wurde mit Beiträgen von Mary Okosun, einem Softwareentwickler mit Sitz in Lagos, Nigeria, aktualisiert.
Das obige ist der detaillierte Inhalt vonSite -Authentifizierung in node.js: Benutzeranmeldung und Anmeldung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!