我一直試圖在兩個本地服務器上使用 express-session。
第一臺服務器用于操作資料庫,第二臺用于加載頁面。 我想在第一臺服務器的會話中保存一些資料,并在第二臺服務器中使用這些資料。
下面是第一個API的代碼
require("dotenv"/span>).config()。
const express = require('express')。
const mysql = require("mysql") 。
const crypto = require("crypto")。
const cors = require("cors") 。
const apiApp = express()。
apiApp.use(express.json()。
apiApp.use(cors()) 。
const pool = mysql.createPool( {
user: process.env.DB_USER。
password: process.env.DB_PASS。
database: process.env.DB_NAME。
host: "localhost"。
});
var algorithm = 'es256'; // algorithm
var key = 'password';
apiApp.post('/api/Connexion', (req, res) => /span> {
let cipheriv = crypto.createCipher(演算法,密鑰)。
let encryptedPassword = cipheriv.update(req.body. motDePasse, 'utf8', 'hex') cipheriv.final('hex')。
var data = [req.body.courriel, encryptedPassword] 。
const query = "SELECT * FROM utilisateurs WHERE courriel=? 和motDePasse=?"。
pool.query(query, data, (error, results) => {
if (results[0] & & !error) {
res.send(true)。
req.session.courriel = req.body.courriel。
} else {
res.send(false)。
}
});
});
module.exports = apiApp;
而第二個
require("dotenv"/span>).config()。
const express = require('express')。
const cors = require("cors") 。
const path = require("path")。
const coreApp = express()。
coreApp.use(express.json()。
coreApp.use(cors())。
let dir = path.resolve(__dirname, ' ...', ' ...') '/'/span>
coreApp.use(express.static(dir) )。
coreApp.get('/connexion', (req, res) => {
if (req.session !=undefined) {
console.log(req.session.courriel)。
}
res.sendFile(dir "index.html"/span>)。
});
coreApp.get('/application', (req, res) => /span> {
res.sendFile(dir "application.html"/span>)。
});
coreApp.get('/:a', (req, res) => /span> {
res.redirect("/"/span>)。
});
module.exports = coreApp;
因此,我試圖在第一段代碼的第64行設定會話變數,并在第二段代碼的第17行使用它。
我怎樣才能做到這一點? 謝謝!
uj5u.com熱心網友回復:
如果你使用一個共享的資料庫作為expression-session的會話存盤,你可以在服務器之間共享會話資料,通常是redis,但任何資料庫都可以作業,只要兩個服務器訪問同一個資料庫作為expression-session的存盤,并且expression-session配置正確。
有express-session 存盤提供商適用于數十種資料庫,包括express-mysql-session,它可與您已使用的資料庫一起使用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/319160.html
標籤:
