nodejs erhält eine Anforderungssitzung

WBOY
Freigeben: 2023-05-11 14:45:37
Original
845 Leute haben es durchsucht

Node.js ist eine serverseitige JavaScript-Laufzeitumgebung, die schnell, plattformübergreifend und modular ist und effiziente und stabile serverseitige Anwendungen erstellen kann. Bei der Entwicklung von Webanwendungen wird SESSION verwendet. Wie erhält man also die angeforderten SESSION-Informationen in Node.js? In diesem Artikel wird erläutert, wie Sie die Anforderung SESSION aus den Aspekten des SESSION-Konzepts, den entsprechenden Sitzungsmodulen in Node.js und spezifischen API-Informationen erhalten.

1. Das Konzept von SESSION

SESSION ist ein Cross-Request-Mechanismus zum Speichern von Benutzerinformationen und -vorgängen. Durch das Speichern der SESSION-Variablen können Benutzer beim Besuch verschiedener Seiten der Website angemeldet bleiben und Daten zwischen verschiedenen Seiten übertragen. . SESSION ist eine serverseitige Statusaufbewahrungsmethode, bei der jeder Sitzung eine eindeutige ID zugewiesen und diese dann auf dem Client (normalerweise im Cookie des Clients) gespeichert wird, um die Kommunikation zwischen dem Server und dem Client zu verfolgen. Für jede neue Sitzung wird eine neue ID zur Nachverfolgung erstellt.

In der Webentwicklung kann SESSION verwendet werden, um die Sicherheit zu optimieren, die Benutzererfahrung zu verbessern, benutzerspezifische Bedürfnisse zu realisieren usw.

2. Die Verwendung von Session in Node.js

In Node.js gibt es ein häufig verwendetes SESSION-Modul Express-Session, das Express-Anwendungen Sitzungsunterstützung hinzufügen kann. Wir könnten genauso gut verstehen, wie man es benutzt:

1. Installieren Sie das Express-Session-Modul

Geben Sie den folgenden Befehl in die Befehlszeile ein:

npm install express-session
Nach dem Login kopieren

2. Führen Sie Express-Session in das Projekt ein:

In Ihrem Projekt Fügen Sie den folgenden Code hinzu:

var express = require('express');
var session = require('express-session');
var app = express();
Nach dem Login kopieren

3. Verwenden Sie Express-Session-Middleware

Fügen Sie in Ihrem Projekt den folgenden Code hinzu:

app.use(session({
secret: 'keyboard cat',//secret的值建议使用随机字符串
cookie: { maxAge: 60000 },
resave: true,
saveUninitialized: true
}))
Nach dem Login kopieren

Darunter:

  • secret ist der Schlüssel, der für die Sitzungs-ID-Verschlüsselung verwendet wird. Sie können ihn unter festlegen will
  • cookie Das maxAge in ist der Gültigkeitszeitraum, der die Sitzungs-ID definiert
  • resave: true bedeutet, dass die Sitzung für jede Anfrage neu gespeichert wird, unabhängig davon, ob sie sich ändert.
  • saveUninitialized:true bedeutet, dass der Benutzer nicht angemeldet ist und die Sitzung und das Cookie für jede Anfrage zurückgesetzt werden

4 SESSION festlegen und abrufen

In Ihrem Projekt können Sie SESSION über den folgenden Code festlegen und abrufen:

Set:

req.session.userName="tom";
Nach dem Login kopieren

Get:

var userName = req.session.userName;
Nach dem Login kopieren

Als nächstes werden wir anhand von Beispielen erklären, wie man die Anfrage-SESSION-Informationen in Node.js erhält.

3. Spezifische API-Informationen

Um besser zu verstehen, wie Sie die SESSION-Anfrageinformationen erhalten, verstehen wir zunächst die API, die SESSION in Node.js entspricht.

req.session

Dies ist die Anforderungs-Middleware der Sitzung, die die Konversationssteuerung durch Schreiben von req.session realisieren kann. Anwendungsbeispiel ist:

req.session.userName='xiaoming';
Nach dem Login kopieren

Der obige Code implementiert das Hinzufügen von userName zur Sitzung. In Express werden Konversationsinformationen in einer Sitzung gespeichert, einem Objekt, das wie ein normales JavaScript-Objekt manipuliert werden kann.

req.session.destroy

Dieses Attribut gibt an, dass beim Beenden des Benutzers die in der Sitzung gespeicherten Daten gelöscht werden. Anwendungsbeispiel ist:

req.session.destroy(function(err) {
  // cannot access session here
})
Nach dem Login kopieren

Wenn die Sitzung zerstört wird, wird die Rückruffunktion ausgeführt.

4. Beispieldemonstration

Als nächstes demonstrieren wir anhand eines Beispiels, wie man die SESSION-Anfrageinformationen erhält.

1. Erstellen Sie das Projekt. Initialisieren Sie zunächst das Projekt und erstellen Sie die Datei main.js:

mkdir node-app && cd node-app
npm init
touch main.js
Nach dem Login kopieren
express-session und stellen Sie sie vor:

npm install express --save
npm install express-session --save
Nach dem Login kopieren

Schreiben Sie den folgenden Code in main.js:

const express = require('express')
const session = require('express-session')

const app = express()

app.use(session({
  secret: 'keyboard cat',//secret的值建议使用随机字符串
  cookie: { maxAge: 60000 },
  resave: true,
  saveUninitialized: true
}))

app.get('/login', (req, res) => {
  req.session.userName = 'Qiming'
  res.send('login success')
})

app.get('/home', (req, res) => {
  let userName = req.session.userName
  if (userName) {
    res.send(`welcome ${userName}`)
  } else {
    res.send('please login first')
  }
})

const server = app.listen(3000, () => {
  console.log(`app is running at http://localhost:${server.address().port}`)
})
Nach dem Login kopieren

Im obigen Code:

Führen Sie zuerst die Express- und Express-Session-Module ein

Erstellen Sie das Anwendungs-App-Objekt und fügen Sie das hinzu Sitzungs-Middleware in der Mitte

    Speichern Sie beim Zugriff auf /login den Benutzernamen in req.session.userName
  • Versuchen Sie beim Zugriff auf /home, den Benutzernamen aus req.session abzurufen. Falls vorhanden, begrüßen Sie ihn und geben Sie eine Nachricht, andernfalls werden Sie aufgefordert Der Benutzer muss sich zuerst anmelden
  • App-Startup Hören Sie auf Port 3000 und geben Sie die Startprotokollinformationen aus
  • 3. Führen Sie das Projekt aus und testen Sie
  • Führen Sie den folgenden Befehl im Terminal aus:
  • node main.js
    Nach dem Login kopieren
    Öffnen Sie den Browser, besuchen Sie http: //localhost:3000/login, und erhalten Sie die Meldung „Login erfolgreich“, greifen Sie auf http://localhost:3000/home zu und erhalten Sie die Meldung „Welcome Qiming“, die angibt, dass die SESSION erfolgreich abgeschlossen wurde.

    5. Zusammenfassung

    In diesem Artikel haben wir etwas über das Konzept von SESSION, die Verwendung von SESSION in Node.js, spezifische API-Informationen und ein Demonstrationsbeispiel erfahren. Wir hoffen, dass wir allen helfen können, besser zu verstehen, wie man es in Node erhält. js SESSION-Informationen anfordern. In tatsächlichen Projekten muss die Verwendung von SESSION entsprechend der tatsächlichen Situation entschieden werden und kann entsprechend den Geschäftsanforderungen implementiert werden.

    Das obige ist der detaillierte Inhalt vonnodejs erhält eine Anforderungssitzung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!