In diesem Artikelbeispiel wird der spezifische Code für Express zur Implementierung der Anmeldeüberprüfung zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt Die von Express implementierte Routing-Anmeldung ist in vielen Szenarien anwendbar. Dieser Code wird für die zukünftige Verwendung aufgezeichnet. Zuerst kommt die Hauptdatei: server.js const express = erfordern('express'); const static = erforderlich('express-static'); const bodyParser = erfordern('body-parser'); const multer = require('multer'); // Der Pfad zum Hochladen der Konfigurationsdatei, hier ist die lokale Adresse const multerObj = multer({ dest: './static/upload' }); const cookieParser = erforderlich('cookie-parser'); const cookieSession = erforderlich('cookie-session'); const konsolidieren = erfordern('konsolidieren'); // Die Unterroutenseite muss verwendet werden. Stellen Sie sicher, dass sie installiert wurde. const expressRoute = require('express-route'); const mysql = erfordern('mysql'); var server = express(); server.listen(8080); // Übermittelte Daten und Dateien verarbeiten server.use(bodyParser.urlencoded()); server.use(multerObj.any()); // Cookie- und Signaturverarbeitung server.use(cookieParser()); (Funktion () { var Schlüssel = []; für (var i = 0; i < 100000; i++) { Schlüssel[i] = "geheim" + Math.random(); }; server.use(cookieSession({ Name: "Sitzungs-ID", Tasten: Tasten, maxAlter: 20 * 60 * 1000 })); })(); // Vorlagen-Rendering server.engine('html', consolidate.ejs); server.set('Ansichten', 'Vorlage'); server.set('Ansichts-Engine', 'html'); // Routenaufteilung server.use('/', require('./route/web/index.js')()); // Front-End-Routing server.use('/admin/', require('./route/admin/index.js')()); // Back-End-Routing // Statische Daten server.use(static('./static/')); Das Obige ist ein allgemeines Strukturgerüst. In Zukunft müssen Sie sich nur auf den Routing-Teil konzentrieren. Das Folgende ist der Hintergrund-Routing-Teil. const express = erfordern('express'); modul.exporte = funktion () { var router = express.Router(); // Vor dem Einloggen router.use((req, res, next) => { wenn (!req.session['admin_id'] && req.url != '/login') { res.redirect('/admin/login'); } anders { nächste(); } }); router.use('/login', erfordern('./login')()); // Andere Routen nach dem normalen Login router.get('/', (req, res) => { res.render('admin/index.ejs', {}); }); // Routing basierend auf dem Geschäft hinzufügen router.use('/banners', require('./banners')()); Rückrouter; }; Die Modularität von Express wird tatsächlich durch Routing Ebene für Ebene definiert. Als nächstes schauen wir uns die Implementierung des Anmeldecodes im obigen Code an. const express = erfordern('express'); // Gekapselte öffentliche Methode (md5) Verschlüsselungsmodul const common = require('../../libs/common'); const mysql = erfordern('mysql'); var db = mysql.createPool({ Host: "localhost", Benutzer: 'root', Passwort: '123456', Datenbank: „Blog“ }); modul.exporte = funktion () { var router = express.Router(); router.get('/', (req, res) => { res.render('admin/login.ejs', {}); }); router.post('/', (req, res) => { var Benutzername = req.body.Benutzername; var Passwort = common.md5(req.body.password + common.MD5_SUFFIX); db.query(`SELECT * FROM admin_table WHERE Benutzername='${Benutzername}'`, (err, data) => { wenn (Fehler) { // Die zurückgegebenen Daten sind sehr einfach. Tatsächlich wird ein Objekt zurückgegeben.res.status(500).send('Datenbankverbindungsfehler').end(); } anders { wenn (Datenlänge == 0) { res.status(400).send('Administrator existiert nicht').end(); } anders { wenn (data[0].password == password) { req.session['admin_id'] = Daten[0].ID; res.redirect('/admin/'); } anders { res.status(400).send('Falsches Passwort').end(); } } } }); }); Rückrouter; }; Möglicherweise haben Sie bemerkt, dass im obigen Code ein Import des allgemeinen Moduls vorhanden ist. Diese Datei definiert hauptsächlich einige allgemeine Methoden, beispielsweise die MD5-Verschlüsselungsmethode. const crypto = erforderlich('Krypto'); modul.exporte = { MD5_SUFFIX: 'FDSW$t34tregt5tO&$(#RHuyoyiUYE*&OI$HRLuy87odlfh)', md5: Funktion (str) { var obj = crypto.createHash('md5'); obj.update(str); returniere obj.digest('hex'); } }; Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
>>: Docker-Reinigungskiller/Docker-Overlay-Datei nimmt zu viel Speicherplatz ein
Inhaltsverzeichnis Frühe Erstellungsmethode Fabri...
Beim Schreiben von HTML definieren wir häufig mehr...
Dies ist eine Sammlung häufig verwendeter, aber l...
Ich bin in letzter Zeit beim Erlernen von Docker ...
HTML-Style-Tag Stil-Tag - Verwenden Sie dieses Ta...
Derzeit verfügt Docker über einen offiziellen Mir...
Wie in der folgenden Abbildung dargestellt: Wenn ...
Vorwort Das langsame Abfrageprotokoll ist eine se...
Methode 1: <input id= "File1" type= &...
Inhaltsverzeichnis 1. Installation: 2. Verwendung...
In diesem Artikel wird der spezifische Code von j...
Weil ich ein Datenbank-Tutorial habe, das auf SQL...
1. Laden Sie das Installationspaket herunter Das ...
MySQL ist ein relationales Datenbankverwaltungssy...
Inhaltsverzeichnis Holen Sie sich den Inhalt des ...