Rumah  >  Artikel  >  hujung hadapan web  >  halaman log masuk nodejs lompat halaman lompat halaman lompat

halaman log masuk nodejs lompat halaman lompat halaman lompat

WBOY
WBOYasal
2023-05-27 21:00:531682semak imbas

Dengan perkembangan pesat teknologi Internet, bilangan pengguna laman web dan aplikasi juga semakin meningkat. Untuk mengurus dan menyelenggara aplikasi dengan lebih baik, ramai pembangun memilih untuk menggunakan Node.js sebagai teknologi back-end. Dalam Node.js, halaman log masuk ialah salah satu bahagian penting aplikasi. Dalam artikel ini, kami akan meneroka cara melaksanakan halaman log masuk dan lompatan halaman menggunakan Node.js.

1. Buat halaman log masuk
Dalam Node.js, kami boleh membuat halaman log masuk dengan mudah melalui modul HTTP dan rangka kerja Express. Pertama, anda perlu memasang modul Express dalam direktori akar projek.

npm install express --save

Buat fail bernama index.js dan perkenalkan modul ekspres ke dalamnya. Berdasarkan ini, buat contoh nyata dan nyatakan nombor port.

const express = require('express');
const app = express();

app.listen(3000, () => {
  console.log('应用已启动,端口号为3000');
});

Seterusnya, kita perlu mencipta laluan untuk mengendalikan permintaan log masuk dan memaparkan halaman log masuk.

app.get('/', (req, res) => {
  res.send(`
    <h1>登录页面</h1>
    <form method="POST" action="/login">
      <input type="text" placeholder="用户名" /><br />
      <input type="password" placeholder="密码" /><br />
      <button type="submit">登录</button>
    </form>
  `);
});

app.post('/login', (req, res) => {
  // 处理登录请求
});

Dalam kod di atas, kami mencipta laluan akar menggunakan kaedah app.get untuk memaparkan halaman log masuk. Pada masa yang sama, laluan /login dibuat menggunakan kaedah app.post untuk mengendalikan permintaan log masuk.

2. Memproses permintaan log masuk
Dalam bahagian sebelumnya, kami mencipta laluan /log masuk untuk mengendalikan permintaan log masuk. Dalam laluan ini, kita boleh mendapatkan nama pengguna dan kata laluan yang dimasukkan oleh pengguna dalam borang log masuk melalui objek req, dan kemudian mengesahkannya.

Sebagai contoh, kami boleh mengekodkan nama pengguna dan kata laluan dalam program Node.js untuk pengesahan Kod adalah seperti berikut:

app.post('/login', (req, res) => {
  const {username, password} = req.body;

  if (username === 'admin' && password === '123456') {
    res.send('登录成功!');
  } else {
    res.send('用户名或密码不正确');
  }
});

Dalam kod di atas, kami menggunakan req.body untuk mendapatkan. nama pengguna dan kata laluan borang log masuk. Kemudian ia disahkan berdasarkan nama pengguna dan kata laluan Jika pengesahan diluluskan, mesej segera log masuk yang berjaya dikembalikan, jika tidak mesej segera log masuk gagal dikembalikan.

3. Lompat halaman
Selepas log masuk berjaya, kami biasanya melompat pengguna ke halaman lain. Dalam Node.js, kita boleh menggunakan kaedah res.redirect untuk melaksanakan lompatan halaman dan menghalakan hasil tindak balas ke alamat penghalaan lain.

app.post('/login', (req, res) => {
  const {username, password} = req.body;

  if (username === 'admin' && password === '123456') {
    res.redirect('/home');
  } else {
    res.send('用户名或密码不正确');
  }
});

app.get('/home', (req, res) => {
  res.send(`
    <h1>首页</h1>
    <p>欢迎访问首页</p>
  `);
});

Dalam kod di atas, selepas log masuk berjaya, gunakan res.redirect untuk menghalakan hasil respons ke laluan /home, iaitu halaman utama. Dalam laluan /home, kami boleh memaparkan kandungan halaman utama kepada pengguna.

4. Gunakan Sesi untuk melaksanakan pengesahan pengguna
Dalam aplikasi Node.js, kami biasanya menggunakan Sesi untuk melaksanakan pengesahan pengguna. Selepas log masuk berjaya, maklumat pengguna disimpan dalam Sesi, dan kandungan Sesi perlu disahkan apabila mengakses halaman lain.

Langkah pelaksanaan khusus adalah seperti berikut:

1. Pasang modul sesi ekspres dalam direktori akar projek.

npm install express-session --save

2. Gunakan modul sesi ekspres untuk menetapkan parameter berkaitan Sesi.

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

app.use(session({
  secret: 'keyboard cat',
  resave: false,
  saveUninitialized: true,
  cookie: { secure: false }
}));

Dalam kod di atas, kami menggunakan kaedah app.use untuk menggunakan perisian tengah sesi ekspres untuk menetapkan parameter rahsia Sesi, parameter simpan semula, simpan Parameter tidak diinisialisasi dan parameter kuki.

3 Apabila log masuk berjaya, simpan maklumat pengguna dalam Sesi.

app.post('/login', (req, res) => {
  const {username, password} = req.body;

  if (username === 'admin' && password === '123456') {
    req.session.user = {username};
    res.redirect('/home');
  } else {
    res.send('用户名或密码不正确');
  }
});

Dalam kod di atas, kami menggunakan req.session.user untuk menyimpan maklumat pengguna yang sedang log masuk ke dalam Sesi.

4. Lakukan pengesahan Sesi apabila mengakses halaman lain.

app.get('/home', (req, res) => {
  if (req.session.user) {
    res.send(`
      <h1>首页</h1>
      <p>欢迎访问首页,${req.session.user.username}</p>
    `);
  } else {
    res.redirect('/');
  }
});

Dalam kod di atas, kami mula-mula menggunakan pernyataan if untuk menentukan sama ada maklumat pengguna wujud dalam Sesi. Jika ia wujud, paparkan kandungan halaman utama dan paparkan nama pengguna pengguna yang sedang log masuk kepada pengguna. Jika ia tidak wujud, ubah hala ke halaman log masuk.

Ringkasan
Dalam Node.js, mencipta halaman log masuk dan lompatan halaman adalah aspek penting dalam pembangunan aplikasi. Melalui pengenalan artikel ini, kami telah mempelajari cara menggunakan rangka kerja Node.js dan Express untuk membuat halaman log masuk, mengendalikan permintaan log masuk dan lompatan halaman. Selain itu, kami juga mempelajari cara menggunakan Sesi untuk melaksanakan pengesahan pengguna. Dalam aplikasi sebenar, pembangun perlu membuat pelarasan dan pengoptimuman yang sepadan mengikut senario aplikasi tertentu untuk memenuhi keperluan pengguna.

Atas ialah kandungan terperinci halaman log masuk nodejs lompat halaman lompat halaman lompat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Apakah penghalaan .nodejsArtikel seterusnya:Apakah penghalaan .nodejs