Aspek Pengesahan Utama:
data pengguna (dengan kata laluan hashed) tinggal di mongoDB.
Contoh Aplikasi:
struktur aplikasi sudut:
aplikasi sudut terdiri daripada empat halaman asas:
Halaman Laman Utama
REST API Struktur:
(pos): Mengendalikan Pendaftaran Pengguna.
/api/register
/api/login
/api/profile/:userid
Gunakan alat express -v pug mean-authentication cd mean-authentication npm i npm i pug@latest npm i mongoose
Buat struktur dan fail direktori yang diperlukan seperti yang diterangkan dalam tutorial asal. Sambungan pangkalan data app.js
, (api/models/db.js
), laluan API (api/routes/index.js
), dan stub pengawal awal (api/controllers/authentication.js
dan api/controllers/profile.js
) disediakan.
skema mongoDB dengan mongoose:
Fail api/models/users.js
mentakrifkan skema MongoDB menggunakan Mongoose:
const mongoose = require('mongoose'); const crypto = require('crypto'); const jwt = require('jsonwebtoken'); // ... (Schema definition and setPassword, validPassword, generateJwt methods as described in the original tutorial)
Pengurusan Kata Laluan (Hashing and Salting):
kaedah setPassword
dan validPassword
menggunakan modul crypto
untuk mengendalikan kata laluan dengan selamat tanpa menyimpannya secara langsung. Kaedah generateJwt
menggunakan pakej jsonwebtoken
untuk membuat JWTS.
pasport.js untuk pengesahan:
Pasang pasport dan strategi tempatan:
npm i passport passport-local
Konfigurasikan pasport dalam api/config/passport.js
:
// ... (Passport configuration as described in the original tutorial)
Kemas kini app.js
untuk memulakan pasport sebagai middleware.
Konfigurasi endpoint API:
Lengkapkan fail api/controllers/authentication.js
dan api/controllers/profile.js
dengan logik pengendalian, log masuk, dan profil, termasuk generasi dan pengesahan JWT menggunakan pasport.js dan middleware Express-JWT. Selamatkan laluan /api/profile
menggunakan express-jwt
.
inisialisasi aplikasi sudut dan perkhidmatan:
Buat aplikasi sudut menggunakan CLI:
ng new client
Menjana komponen yang diperlukan (register
, login
, profile
, home
) dan perkhidmatan (authentication
). Melaksanakan AuthenticationService
untuk mengendalikan penyimpanan JWT, pengambilan semula, penghapusan, panggilan API, pemeriksaan status log masuk, dan pengambilan detail pengguna.
Menghubungkan Komponen Angular dan API:
Melaksanakan borang daftar dan log masuk dalam komponen masing -masing, menggunakan AuthenticationService
untuk mengendalikan interaksi API. Kemas kini bar navigasi untuk memaparkan "log masuk" secara dinamik atau pautan nama dan profil pengguna berdasarkan status log masuk. Lindungi laluan /profile
menggunakan pengawal laluan sudut (AuthGuard
yang dilindungi. /api/profile
Konfigurasikan proksi dalam
untuk memajukan client/proxy.conf.json
permintaan ke pelayan Express. Mulakan pelayan Express dan aplikasi sudut. Pendaftaran ujian, log masuk, dan akses profil. Tambah gaya seperti yang dikehendaki (rujuk repositori github untuk butiran gaya). /api
Seksyen Soalan Lazim memberikan jawapan kepada soalan -soalan umum mengenai pembangunan stack min, termasuk perbezaannya dari kerangka lain, peranan CLI sudut, pilihan pangkalan data, pengendalian data, skalabilitas, keselamatan, sumber pembelajaran, dan peranan node.js. Jawapannya disahkan untuk kesimpulan dan kejelasan.
Atas ialah kandungan terperinci Maksud Stack: Bina aplikasi dengan sudut dan CLI sudut. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!