Heim  >  Artikel  >  Web-Frontend  >  nodejs erhält eine Anforderungssitzung

nodejs erhält eine Anforderungssitzung

WBOY
WBOYOriginal
2023-05-11 14:45:37819Durchsuche

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

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();

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
}))

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";

Get:

var userName = req.session.userName;

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';

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
})

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
express-session und stellen Sie sie vor:

npm install express --save
npm install express-session --save

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}`)
})

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
Ö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!

Stellungnahme:
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