Heim Web-Frontend js-Tutorial Express Session implementiert die Funktion zur Anmeldeüberprüfung (Code im Anhang)

Express Session implementiert die Funktion zur Anmeldeüberprüfung (Code im Anhang)

Apr 18, 2018 am 11:08 AM
express session 验证

Dieses Mal werde ich Ihnen die Express-Sitzung zur Implementierung der Anmeldebestätigungsfunktion (mit Code) vorstellen. Was sind die Vorsichtsmaßnahmen für die Express-Sitzung zur Implementierung der Anmeldebestätigungsfunktion? Schauen Sie mal rein.

Viele Leute erforschen die Verwendung von Express und Session zur Implementierung der Anmeldeüberprüfung. In diesem Artikel wird kurz vorgestellt, wie Express und Session zur Implementierung der Anmeldeüberprüfung verwendet werden. Finden wir es gemeinsam heraus.

1. Schreiben Sie vorne

Wenn wir uns auf einer Website anmelden, schließen wir die Website, ohne uns abzumelden. Nach einer Weile, wenn wir die Website erneut öffnen, sind wir immer noch angemeldet. Denn wenn wir uns auf einer Website anmelden, speichert der Server unseren Anmeldestatus, bis wir uns abmelden oder der gespeicherte Anmeldestatus abläuft. Wie speichert der Server unseren Anmeldestatus? Die Antwort lautet Sitzung, über die der Dienst den Status jeder Clientverbindung aufzeichnen kann. Ich werde hier nicht näher auf das Prinzip von Session eingehen. In diesem Artikel wird hauptsächlich die Verwendung von Session zur Implementierung der Benutzeranmeldung im Express-Framework vorgestellt.

2. Umgebungskonfiguration

In der Node-Umgebung gibt es keine Bibliothek, die Express und Session integriert. Sie müssen sie daher zunächst installieren, ein Projektverzeichnis eingeben und erstellen und dann die folgenden Befehle verwenden, um vier Module im Projektstammverzeichnis zu installieren.

1) Express

Mit diesem Modul können wir schnell ein Webentwicklungs-Framework erstellen.

2) Body-Parser

Dieses Modul ist die Middleware des Express-Moduls, die es uns ermöglicht, die vom Browser gesendeten Körperdaten zu analysieren.

3) Express-Sitzung

Dieses Modul ist auch die Express-Modul-Middleware, die uns die Abwicklung von Client-Sitzungen erleichtert.

4) ejs

Dieses Modul ist eine Rendering-Engine. Für uns ist es praktisch, die Hintergrundvariable data an die Startseite zu binden.

Die Installation erfolgt wie folgt:

npm install express --save
npm install body-parser --save
npm install express-session --save
npm install ejs --save
Nach dem Login kopieren

3. Anmeldung und Verifizierung

Die Sitzung kann den Status des Clients auf dem Server markieren. Damit können wir eine clientseitige Anmeldeüberprüfung implementieren. Der Prozess der Sitzungsanmeldeüberprüfung ist ungefähr wie folgt: Wenn der Client die Startseite anfordert, während er nicht angemeldet ist, leitet der Server die Anforderung nach der Anmeldung des Clients um. Der Server muss den Anmeldestatus des Clients aufzeichnen und speichern und geben Sie einen Aktivitätszeitraum an, damit der Server bei der nächsten Anforderung der Homepage den Anmeldestatus des Clients ermitteln kann. Wenn der Anmeldestatus gültig ist, kehrt er direkt zu der Seite zurück, die der Client benötigt, andernfalls wird er zur Anmeldung weitergeleitet Seite.

Was die Ablaufzeit der Sitzung betrifft: Wenn die Ablaufzeit der Sitzung nicht festgelegt ist, löscht der Server Sitzungen, die längere Zeit nicht mit dem Server interagiert haben, basierend auf dem Standardgültigkeitszeitraum in seiner eigenen Konfiguration.

Der Beispielcode ist unten aufgeführt. Die Benutzeroberfläche ist relativ einfach und die Kommentare zum Server-Hintergrundcode sind klar geschrieben, sodass ich sie nicht noch einmal erläutern werde.

Die Verzeichnisstruktur des Projekts ist wie folgt:

Der Code der Anmeldeseite (login.html) lautet wie folgt:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style type="text/css">
  </style>
</head>
<body>
  <form action="/login" method="POST">
    用户名: <input type="text" name="username"/> <br>
    密码: <input type="password" name="pwd"/>
    <input type="submit" value="Submit"/>
  </form>
</body>
</html>
Nach dem Login kopieren

Der Homepage-Code (home.html) lautet wie folgt:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  <p>用户名:<span><%= username %> </span> <a href="/logout" rel="external nofollow" >退出登录</a></p>
</body>
</html>
Nach dem Login kopieren

Der Servercode (app.js) lautet wie folgt:

/**
 * Created by tjm on 9/7/2017.
 */
var express = require('express');
var app = express();
var session = require('express-session');
var bodyparser = require('body-parser');
// 下面三行设置渲染的引擎模板
app.set('views', dirname); //设置模板的目录
app.set('view engine', 'html'); // 设置解析模板文件类型:这里为html文件
app.engine('html', require('ejs').express); // 使用ejs引擎解析html文件中ejs语法
app.use(bodyparser.json()); // 使用bodyparder中间件,
app.use(bodyparser.urlencoded({ extended: true }));
// 使用 session 中间件
app.use(session({
  secret : 'secret', // 对session id 相关的cookie 进行签名
  resave : true,
  saveUninitialized: false, // 是否保存未初始化的会话
  cookie : {
    maxAge : 1000 * 60 * 3, // 设置 session 的有效时间,单位毫秒
  },
}));
// 获取登录页面
app.get('/login', function(req, res){
  res.sendFile(dirname + '/login.html')
});
// 用户登录
app.post('/login', function(req, res){
  if(req.body.username == 'admin' && req.body.pwd == 'admin123'){
    req.session.userName = req.body.username; // 登录成功,设置 session
    res.redirect('/');
  }
  else{
    res.json({ret_code : 1, ret_msg : '账号或密码错误'});// 若登录失败,重定向到登录页面
  }
});
// 获取主页
app.get('/', function (req, res) {
  if(req.session.userName){ //判断session 状态,如果有效,则返回主页,否则转到登录页面
    res.render('home',{username : req.session.userName});
  }else{
    res.redirect('login');
  }
})
// 退出
app.get('/logout', function (req, res) {
  req.session.userName = null; // 删除session
  res.redirect('login');
});
app.listen(8000,function () {
  console.log('http://127.0.0.1:8000')
})
Nach dem Login kopieren

Zu diesem Zeitpunkt ist die Überprüfung der Sitzungsanmeldung abgeschlossen. Im obigen Beispiel wird die Sitzung im Dienstspeicher gespeichert. Sie kann natürlich auch in einer Datei oder Datenbank gespeichert werden. Sie müssen lediglich die Sitzungs-Middleware konfigurieren.

app.use(session({
  secret: 'secretkey',
  store: new MongoStore({
    db: 'sessiondb'
  })
}));
Nach dem Login kopieren

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website.

Empfohlene Lektüre:

Node.js implementiert die Lese- und Schreibsynchronisierungsfunktion

So vergleichen Sie zwei Zeichenfolgen mit gleichen Daten

Das obige ist der detaillierte Inhalt vonExpress Session implementiert die Funktion zur Anmeldeüberprüfung (Code im Anhang). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So überprüfen Sie die Signatur in PDF So überprüfen Sie die Signatur in PDF Feb 18, 2024 pm 05:33 PM

Normalerweise erhalten wir PDF-Dateien von der Regierung oder anderen Behörden, teilweise mit digitalen Signaturen. Nach der Überprüfung der Signatur sehen wir die Meldung SignatureValid und ein grünes Häkchen. Wenn die Signatur nicht überprüft wird, ist die Gültigkeit unbekannt. Die Überprüfung von Signaturen ist wichtig. Sehen wir uns an, wie das im PDF-Format geht. So überprüfen Sie Signaturen im PDF-Format. Durch die Überprüfung von Signaturen im PDF-Format wird das Dokument vertrauenswürdiger und die Wahrscheinlichkeit erhöht, dass es akzeptiert wird. Sie können Signaturen in PDF-Dokumenten auf folgende Weise überprüfen. Öffnen Sie die PDF-Datei im Adobe Reader. Klicken Sie mit der rechten Maustaste auf die Signatur und wählen Sie „Signatureigenschaften anzeigen“. Klicken Sie auf die Schaltfläche „Unterzeichnerzertifikat anzeigen“. Fügen Sie die Signatur auf der Registerkarte „Vertrauen“ zur Liste „Vertrauenswürdige Zertifikate“ hinzu. Klicken Sie auf „Signatur überprüfen“, um die Überprüfung abzuschließen

Detaillierte Methode zum Entsperren mithilfe der freundunterstützten WeChat-Verifizierung Detaillierte Methode zum Entsperren mithilfe der freundunterstützten WeChat-Verifizierung Mar 25, 2024 pm 01:26 PM

1. Klicken Sie nach dem Öffnen von WeChat auf das Suchsymbol, geben Sie das WeChat-Team ein und klicken Sie zum Betreten auf den Dienst unten. 2. Klicken Sie nach der Eingabe auf die Option „Self-Service-Tool“ in der unteren linken Ecke. 3. Klicken Sie nach dem Anklicken in den Optionen oben auf die Option zum Entsperren/Einspruch für eine zusätzliche Verifizierung.

So beheben Sie Sitzungsfehler So beheben Sie Sitzungsfehler Oct 18, 2023 pm 05:19 PM

Ein Sitzungsfehler wird normalerweise durch den Ablauf der Sitzungslebensdauer oder das Herunterfahren des Servers verursacht. Die Lösungen: 1. Verlängern Sie die Lebensdauer der Sitzung. 3. Verwenden Sie Cookies. 4. Aktualisieren Sie die Sitzung.

Lösung für das domänenübergreifende Problem der PHP-Sitzung Lösung für das domänenübergreifende Problem der PHP-Sitzung Oct 12, 2023 pm 03:00 PM

Lösung des domänenübergreifenden Problems von PHPSession Bei der Entwicklung der Front-End- und Back-End-Trennung sind domänenübergreifende Anforderungen zur Norm geworden. Wenn es um domänenübergreifende Probleme geht, nutzen wir in der Regel Sitzungen und verwalten diese. Aufgrund von Richtlinieneinschränkungen für den Browserursprung können Sitzungen jedoch standardmäßig nicht über Domänen hinweg gemeinsam genutzt werden. Um dieses Problem zu lösen, müssen wir einige Techniken und Methoden verwenden, um eine domänenübergreifende gemeinsame Nutzung von Sitzungen zu erreichen. 1. Die häufigste Verwendung von Cookies zum domänenübergreifenden Teilen von Sitzungen

Wie validiere ich IFSC-Code mithilfe regulärer Ausdrücke? Wie validiere ich IFSC-Code mithilfe regulärer Ausdrücke? Aug 26, 2023 pm 10:17 PM

Die Abkürzung lautet Indian Financial System Code. Indische Bankfilialen, die am elektronischen Geldtransfersystem teilnehmen, werden durch einen speziellen 11-stelligen Code identifiziert. Die Reserve Bank of India verwendet diesen Code bei Internettransaktionen, um Gelder zwischen Banken zu überweisen. Der IFSC-Code ist in zwei Teile unterteilt. Banken werden durch die ersten vier Zeichen identifiziert, während Filialen durch die letzten sechs Zeichen identifiziert werden. NEFT (National Electronic Funds Transfer), RTGS (Real Time Gross Settlement) und IMPS (Immediate Payment Service) sind einige der elektronischen Transaktionen, die IFSC-Codes erfordern. Methode Einige gängige Methoden zur Validierung von IFSC-Codes mithilfe regulärer Ausdrücke sind: Überprüfen Sie, ob die Länge korrekt ist. Überprüfen Sie die ersten vier Zeichen. Überprüfen Sie den fünften Charakter. Che

Neue Funktionen in PHP 8: Verifizierung und Signierung hinzugefügt Neue Funktionen in PHP 8: Verifizierung und Signierung hinzugefügt Mar 27, 2024 am 08:21 AM

PHP8 ist die neueste Version von PHP und bietet Programmierern mehr Komfort und Funktionalität. Bei dieser Version liegt ein besonderer Schwerpunkt auf Sicherheit und Leistung, und eine der bemerkenswerten neuen Funktionen ist die Hinzufügung von Verifizierungs- und Signierungsfunktionen. In diesem Artikel werfen wir einen genaueren Blick auf diese neuen Funktionen und ihre Verwendung. Verifizierung und Signierung sind sehr wichtige Sicherheitskonzepte in der Informatik. Sie dienen häufig dazu, sicherzustellen, dass die übermittelten Daten vollständig und authentisch sind. Verifizierung und Signaturen werden beim Umgang mit Online-Transaktionen und sensiblen Informationen noch wichtiger, denn wenn jemand in der Lage ist, die Daten zu manipulieren, könnte dies möglicherweise der Fall sein

Wie validiere ich Routenparameter in Laravel? Wie validiere ich Routenparameter in Laravel? Sep 01, 2023 pm 02:41 PM

In Laravel werden Routen im Ordner paths/ definiert. Routen werden in der Datei web.php definiert. Diese Datei wird erstellt, nachdem die Laravel-Installation abgeschlossen ist. Laravel-Routen akzeptieren URIs und Abschlussfunktionen wie folgt: useIlluminate\Support\Facades\Route;Route::get('/student',function(){return'HelloStudent';}); in web/routes.php Definierte Routen werden zugewiesen zu Web-Middleware-Gruppen, und sie verfügen über Sitzungsstatus und CSRF-Schutz. Sie können den Controller auch wie unten in der Route aufrufen

Was sind die Unterschiede zwischen JavaScript- und PHP-Cookies? Was sind die Unterschiede zwischen JavaScript- und PHP-Cookies? Sep 02, 2023 pm 12:29 PM

JavaScript-Cookies Die Verwendung von JavaScript-Cookies ist die effektivste Möglichkeit, Präferenzen, Käufe, Provisionen und andere Informationen zu speichern und zu verfolgen. Informationen, die für ein besseres Besuchererlebnis oder Website-Statistiken benötigt werden. PHPCookieCookies sind Textdateien, die auf Client-Computern gespeichert und zu Nachverfolgungszwecken aufbewahrt werden. PHP unterstützt transparent HTTP-Cookies. Wie funktionieren JavaScript-Cookies? Ihr Server sendet einige Daten in Form eines Cookies an den Browser Ihres Besuchers. Browser können Cookies akzeptieren. Falls vorhanden, wird es als reiner Textdatensatz auf der Festplatte des Besuchers gespeichert. Wenn ein Besucher nun eine andere Seite der Website erreicht

See all articles