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
Wenn Sie einige Microsoft-Dokumente mit LibreOffi...
1. Abgerundete Ecken Heutige Webdesigns halten stä...
Breite: automatisch Das untergeordnete Element (e...
Codeeffekte werden häufig in unterschiedlichen Br...
brauchen: In naher Zukunft werden wir die Funktio...
Ergebnis:Implementierungscode: html <link href...
Verwandte Artikel: Anfänger lernen einige HTML-Ta...
<br />Vorheriges Tutorial: Webdesign-Tutoria...
Zusammenfassung: Im Folgenden finden Sie eine Met...
So installieren und konfigurieren Sie mysql-5.7.5...
Vorwort: Aufgrund meiner Arbeit beschäftige ich m...
Amtliche Dokumentation: https://dev.mysql.com/doc...
Langsame Protokollabfragefunktion Die Hauptfunkti...
Vorwort Das Projekt stellt Anforderungen an Karte...
Inhaltsverzeichnis Überblick Was ist Lazy Loading...