Table des matières
Qu'est-ce que la gestion des autorisations ?
Pourquoi utiliser Node.js pour la gestion des autorisations ?
Créer un système de gestion des autorisations avec Node.js
Étape 1 : Installer Node.js
Étape 2 : Configurer le projet
Étape 3 : Installez les modules Node.js requis
Étape 4 : Créer une base de données
Étape 5 : Écrivez le code
Étape 6 : Créer des vues
Conclusion
Maison interface Web js tutoriel Comment créer un système de gestion des autorisations à l'aide de Node.js

Comment créer un système de gestion des autorisations à l'aide de Node.js

Apr 05, 2023 am 09:08 AM

À mesure que la complexité des applications Web augmente, la gestion des autorisations devient de plus en plus importante. La gestion des utilisateurs et des rôles des utilisateurs, ainsi que la restriction de l'accès à certaines pages, sont devenues un élément essentiel des applications Web. Node.js est un environnement JavaScript côté serveur très populaire qui permet de créer des applications Web efficaces. Dans cet article, nous apprendrons comment créer un système de gestion des autorisations à l'aide de Node.js.

Qu'est-ce que la gestion des autorisations ?

La gestion des autorisations est le processus de contrôle de ce à quoi les utilisateurs peuvent accéder et effectuer. Cela implique la gestion des utilisateurs et des rôles d'utilisateurs, l'allocation des ressources et des autorisations, etc.

Dans une application Web, la gestion des autorisations est très importante, qu'il s'agisse de protéger les informations sensibles ou de contrôler les autorisations d'accès des utilisateurs. Différents utilisateurs peuvent avoir des droits d'accès différents, en fonction de leurs rôles et autorisations.

Pourquoi utiliser Node.js pour la gestion des autorisations ?

Node.js est un environnement JavaScript côté serveur piloté par événements, idéal pour créer des applications Web efficaces. L'utilisation de Node.js pour créer un système de gestion des autorisations peut offrir les avantages suivants :

  • Développement rapide : Node.js fournit de nombreux modules et bibliothèques qui peuvent réduire considérablement le temps de développement.
  • Hautes performances : Node.js étant non bloquant, il peut gérer un grand nombre de requêtes simultanées.
  • Extensibilité : Node.js vous permet d'ajouter et d'étendre des modules facilement.
  • Coût : Node.js est gratuit et dispose d'une documentation complète et de ressources communautaires.

Créer un système de gestion des autorisations avec Node.js

Voici les étapes pour créer un système de gestion des autorisations avec Node.js :

Étape 1 : Installer Node.js

Pour commencer à utiliser Node.js, vous devez installez-le d'abord. Vous pouvez accéder au [site officiel de Node.js](https://nodejs.org/en/) pour télécharger la dernière version de Node.js. Après avoir exécuté le programme d'installation, vous pouvez vérifier à partir de la ligne de commande que Node.js est correctement installé. Tapez la commande suivante dans la ligne de commande :

node -v
Copier après la connexion

Si l'installation réussit, vous verrez le numéro de version de Node.js.

Étape 2 : Configurer le projet

Maintenant que Node.js est installé, vous devez configurer le projet. Accédez au dossier du projet sur la ligne de commande et entrez la commande suivante :

npm init
Copier après la connexion

Cette commande vous guidera pour créer un nouveau fichier package.json. Ce fichier est un manifeste de projet JavaScript qui contient toutes les informations et dépendances du projet.

Étape 3 : Installez les modules Node.js requis

Dans Node.js, vous pouvez facilement utiliser le gestionnaire de packages npm pour installer les modules requis. Entrez la commande suivante sur la ligne de commande pour installer les modules requis :

  • express : Un framework pour créer des applications Web.
  • body-parser : utilisé pour analyser les données dans le corps de la requête.
  • cookie-parser : utilisé pour analyser les données contenues dans les cookies.
  • express-session : permet de gérer les séances.
  • connect-flash : utilisé pour afficher les messages flash.
npm install express body-parser cookie-parser express-session connect-flash --save
Copier après la connexion

Étape 4 : Créer une base de données

Vous aurez également besoin d'une base de données pour stocker les informations sur les utilisateurs et les rôles. Dans cet article, nous utiliserons MongoDB.

Tout d’abord, vous devez installer MongoDB. Vous pouvez télécharger la dernière version de MongoDB depuis le [site officiel de MongoDB](https://www.mongodb.com/).

Ensuite, vous devez créer une nouvelle base de données et une nouvelle collection dans MongoDB. Entrez la commande suivante sur la ligne de commande :

mongo
use mydb
db.createCollection("users")
db.createCollection("roles")
Copier après la connexion

Ce code créera une base de données nommée "mydb", et deux collections nommées "users" et "roles".

Étape 5 : Écrivez le code

Maintenant que vous avez terminé tous les préparatifs, vous pouvez commencer à écrire le code. Dans le répertoire du projet, créez un fichier appelé "app.js" et ajoutez le code suivant au fichier :

const express = require('express');
const bodyParser = require('body-parser');
const cookieParser = require('cookie-parser');
const session = require('express-session');
const flash = require('connect-flash');
const mongoose = require('mongoose');

const app = express();

mongoose.connect('mongodb://localhost/mydb');

const User = mongoose.model('User', { name: String, password: String, role: String });
const Role = mongoose.model('Role', { name: String, permissions: [String] });

app.set('view engine', 'ejs');
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(session({ secret: 'secret key', resave: false, saveUninitialized: false }));
app.use(flash());

const requireRole = (role) => {
  return (req, res, next) => {
    if (req.session.user && req.session.user.role === role) {
      next();
    } else {
      req.flash('error', 'Permission denied');
      res.redirect('/login');
    }
  };
};

app.get('/', (req, res) => {
  res.render('index');
});

app.get('/login', (req, res) => {
  res.render('login', { error: req.flash('error') });
});

app.post('/login', (req, res) => {
  User.findOne({ name: req.body.name, password: req.body.password }, (err, user) => {
    if (err) {
      req.flash('error', 'Login failed');
      res.redirect('/login');
    } else if (!user) {
      req.flash('error', 'Invalid user or password');
      res.redirect('/login');
    } else {
      req.session.user = user;
      res.redirect('/dashboard');
    }
  });
});

app.get('/dashboard', requireRole('manager'), (req, res) => {
  res.render('dashboard');
});

app.get('/logout', (req, res) => {
  req.session.destroy();
  res.redirect('/login');
});

app.listen(3000, () => {
  console.log('Server started at http://localhost:3000');
});
Copier après la connexion

Ce code comprend les étapes suivantes :

  1. Importez tous les modules Node.js requis et connectez la base de données MongoDB.
  2. Définissez deux collections MongoDB Utilisateur et Rôle.
  3. Configurez l'application Express et définissez la fonction middleware pour valider les rôles des utilisateurs.
  4. Définissez les itinéraires Express, y compris l'itinéraire racine, l'itinéraire de connexion, l'itinéraire du tableau de bord et l'itinéraire de déconnexion.
  5. Démarrez l'application Express et écoutez sur le port 3000.

Étape 6 : Créer des vues

Enfin, vous devez créer des vues pour présenter votre application Web.

Dans le répertoire du projet, créez un dossier appelé "views" et créez les fichiers de vue suivants :

  • index.ejs : pour le rendu de la page d'accueil.
  • login.ejs : utilisé pour présenter l'interface de connexion.
  • dashboard.ejs : utilisé pour rendre le tableau de bord.
<!doctype html>
<html>
<head>
  <title>Node.js Authorization</title>
</head>
<body>
  <h1>Node.js Authorization</h1>
  <nav>
    <% if (typeof user === &#39;undefined&#39;) { %>
      <a href="/login">Sign in</a>
    <% } else { %>
      <a href="/dashboard">Dashboard</a>
      <a href="/logout">Sign out</a>
    <% } %>
  </nav>
  <hr>
  <p>Welcome to Node.js Authorization.</p>
</body>
</html>
Copier après la connexion
<!doctype html>
<html>
<head>
  <title>Node.js Authorization - Login</title>
</head>
<body>
  <h1>Node.js Authorization - Login</h1>
  <% if (error) { %>
    <p><%= error %></p>
  <% } %>
  <form method="post" action="/login">
    <div>
      <label for="name">Name:</label>
      <input type="text" name="name" required>
    </div>
    <div>
      <label for="password">Password:</label>
      <input type="password" name="password" required>
    </div>
    <div>
      <input type="submit" value="Sign in">
    </div>
  </form>
</body>
</html>
Copier après la connexion
<!doctype html>
<html>
<head>
  <title>Node.js Authorization - Dashboard</title>
</head>
<body>
  <h1>Node.js Authorization - Dashboard</h1>
  <nav>
    <a href="/">Home</a>
    <a href="/logout">Sign out</a>
  </nav>
  <hr>
  <h2>Welcome <%= user.name %>.</h2>
  <p>You are logged in as a manager.</p>
</body>
</html>
Copier après la connexion

Ces trois vues sont légèrement différentes. La route index.ejs est accessible directement, la route login.ejs est contrôlée lorsqu'elle n'est pas connectée et Dashboard.ejs n'est accessible qu'aux utilisateurs ayant l'identité de manager.

Conclusion

Node.js est un excellent outil pour créer des applications Web efficaces. Il fournit de nombreuses fonctionnalités et modules pour vous aider à créer facilement un puissant système de gestion des autorisations. Avec Node.js, vous pouvez développer rapidement, être performant, être évolutif et c'est gratuit. Node.js dispose également d'une communauté active qui fournit des tonnes de support et de ressources.

Dans cet article, nous avons appris comment créer un système de gestion des autorisations à l'aide de Node.js. Nous avons appris à utiliser MongoDB pour stocker des informations sur les utilisateurs et les rôles, à créer des applications Web à l'aide d'Express.js et à utiliser un moteur de modèle pour afficher des vues.

J'espère que cet article vous sera utile, merci d'avoir lu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Remplacer les caractères de chaîne en javascript Remplacer les caractères de chaîne en javascript Mar 11, 2025 am 12:07 AM

Explication détaillée de la méthode de remplacement de la chaîne JavaScript et de la FAQ Cet article explorera deux façons de remplacer les caractères de chaîne dans JavaScript: le code JavaScript interne et le HTML interne pour les pages Web. Remplacer la chaîne dans le code JavaScript Le moyen le plus direct consiste à utiliser la méthode Remplace (): str = str.replace ("trouver", "remplacer"); Cette méthode remplace uniquement la première correspondance. Pour remplacer toutes les correspondances, utilisez une expression régulière et ajoutez le drapeau global G: str = str.replace (/ fi

jQuery Vérifiez si la date est valide jQuery Vérifiez si la date est valide Mar 01, 2025 am 08:51 AM

Des fonctions JavaScript simples sont utilisées pour vérifier si une date est valide. fonction isValidDate (s) { var bits = s.split ('/'); var d = new Date (bits [2] '/' bits [1] '/' bits [0]); return !! (d && (d.getMonth () 1) == bits [1] && d.getDate () == Number (bits [0])); } //test var

jQuery obtient un rembourrage / marge d'élément jQuery obtient un rembourrage / marge d'élément Mar 01, 2025 am 08:53 AM

Cet article explique comment utiliser jQuery pour obtenir et définir les valeurs de marge et de marge intérieures des éléments DOM, en particulier les emplacements spécifiques de la marge extérieure et des marges intérieures de l'élément. Bien qu'il soit possible de définir les marges intérieures et extérieures d'un élément à l'aide de CSS, l'obtention de valeurs précises peut être délicate. // installation $ ("div.header"). CSS ("marge", "10px"); $ ("div.header"). css ("padding", "10px"); Vous pourriez penser que ce code est

10 onglets jQuery Accordion 10 onglets jQuery Accordion Mar 01, 2025 am 01:34 AM

Cet article explore dix onglets jQuery exceptionnels et accordéons. La principale différence entre les onglets et les accordéons réside dans la façon dont leurs panneaux de contenu sont affichés et cachés. Plongeons ces dix exemples. Articles connexes: 10 plugins de l'onglet jQuery

10 vaut la peine de vérifier les plugins jQuery 10 vaut la peine de vérifier les plugins jQuery Mar 01, 2025 am 01:29 AM

Découvrez dix plugins jQuery exceptionnels pour élever le dynamisme et l'attrait visuel de votre site Web! Cette collection organisée offre diverses fonctionnalités, de l'animation d'image aux galeries interactives. Explorons ces outils puissants: Related Posts: 1

Http débogage avec le nœud et le http-console Http débogage avec le nœud et le http-console Mar 01, 2025 am 01:37 AM

HTTP-Console est un module de nœud qui vous donne une interface de ligne de commande pour exécuter les commandes HTTP. C'est idéal pour le débogage et voir exactement ce qui se passe avec vos demandes HTTP, qu'elles soient faites contre un serveur Web, Web Serv

Tutoriel de configuration de l'API de recherche Google personnalisé Tutoriel de configuration de l'API de recherche Google personnalisé Mar 04, 2025 am 01:06 AM

Ce tutoriel vous montre comment intégrer une API de recherche Google personnalisée dans votre blog ou site Web, offrant une expérience de recherche plus raffinée que les fonctions de recherche de thème WordPress standard. C'est étonnamment facile! Vous pourrez restreindre les recherches à Y

jQuery Ajouter une barre de défilement à div jQuery Ajouter une barre de défilement à div Mar 01, 2025 am 01:30 AM

L'extrait de code jQuery suivant peut être utilisé pour ajouter des barres de défilement lorsque le contenu DIV dépasse la zone de l'élément de conteneur. (Pas de démonstration, veuillez le copier directement sur Firebug) // d = document // w = fenêtre // $ = jQuery var contentArea = $ (this), wintop = contentArea.scrollTop (), docheight = $ (d) .height (), winheight = $ (w) .height (), divheight = $ ('# c

See all articles