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
Ich bin heute auf ein seltsames Netzwerkproblem g...
Szenario 1: Aufgrund von Serverbeschränkungen ist...
Wie unten dargestellt: LOCATE(Teilzeichenfolge,Ze...
Inhaltsverzeichnis 1. Datenmanipulationssprache (...
Die Schlüsselcodes lauten wie folgt: Code kopieren...
Inhaltsverzeichnis Bedingte Kompilierung Seitenla...
1. Linklayout der neuen Site-Startseite 1. Die Pos...
Vorwort In einem üblichen Geschäftsszenario müsse...
Ich hatte in letzter Zeit ziemlich viel Zeit. Ich...
Inhaltsverzeichnis Vorwort Initialisieren des Pro...
Kürzlich stieß ich im Verlauf des Projekts auf ei...
1. Festplattenpartition: 2. fdisk-Partition Wenn ...
Verwenden Sie ein Profil, um langsames SQL zu ana...
Installieren Sie MySQL unter Windows zu Ihrer Inf...
Vor Kurzem haben wir SQL zur Optimierung online e...