Maison  >  Article  >  base de données  >  MySQL implémente la fonction de gestion des droits d'utilisateur du système de commande

MySQL implémente la fonction de gestion des droits d'utilisateur du système de commande

王林
王林original
2023-11-01 18:30:241163parcourir

MySQL 实现点餐系统的用户权限管理功能

MySQL implémente la fonction de gestion des droits d'utilisateur du système de commande, des exemples de code spécifiques sont requis

Titre : MySQL implémente la fonction de gestion des droits d'utilisateur du système de commande

Introduction :
La gestion des droits d'utilisateur est une fonction très importante dans un système. Il peut contrôler les droits d'accès des utilisateurs aux différentes ressources du système et assurer la sécurité des données et la stabilité du système. Cet article expliquera comment utiliser MySQL pour implémenter la fonction de gestion des droits d'utilisateur du système de commande et donnera des exemples de code spécifiques.

Texte :

  1. Créer une table utilisateur et une table d'autorisation :
    Tout d'abord, vous devez créer deux tables dans MySQL L'une est la table utilisateur, qui est utilisée pour stocker les informations de compte et de mot de passe de l'utilisateur ; table, qui est utilisée pour stocker le compte de connexion et le mot de passe de l'utilisateur. Stocke les droits d'accès de l'utilisateur à différentes ressources.

La structure de la table user est la suivante :

CREATE TABLE user (user (
id INT(11) NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

权限表的结构如下:

CREATE TABLE permission (
id INT(11) NOT NULL AUTO_INCREMENT,
user_id INT(11) NOT NULL,
resource VARCHAR(50) NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (user_id) REFERENCES user(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  1. 插入测试数据:
    接下来,插入一些测试数据,用于后续的权限管理功能测试。

插入用户数据的SQL语句如下:

INSERT INTO user (username, password)
VALUES ('user1', '123456'),

   ('user2', '123456'),
   ('user3', '123456');

插入权限数据的SQL语句如下:

INSERT INTO permission (user_id, resource)
VALUES (1, 'order'),

   (1, 'menu'),
   (2, 'menu'),
   (3, 'order');
  1. 实现用户登录功能:
    在点餐系统中,首先需要实现用户登录功能。用户登录时,需要验证用户输入的账号和密码是否正确。

以下是一个简单的用户登录的SQL查询语句示例:

SELECT *
FROM user
WHERE username = 'user1'
AND password = '123456';

如果查询结果为空,则表示账号或密码错误;如果查询结果非空,则表示账号密码验证通过,可以继续后续的操作。

  1. 实现权限验证功能:
    在用户登录验证通过之后,可以根据用户的权限对系统中的不同资源进行访问控制。

以下是一个简单的权限验证的SQL查询语句示例:

SELECT *
FROM permission
WHERE user_id = 1
AND resource id INT(11) NOT NULL AUTO_INCREMENT,

username code> VARCHAR( 50) NON NULL,<p> <code>mot de passe VARCHAR(50) NON NULL,

CLÉ PRIMAIRE (id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Structure de la table des autorisations Comme suit :

CREATE TABLE permission (

id INT(11) NOT NULL AUTO_INCREMENT,

user_id INT(11) NON NULL,

ressource

VARCHAR(50) NON NULL, CLÉ PRIMAIRE (id),🎜 CLÉ ÉTRANGÈRE (user_id) RÉFÉRENCES user (id)🎜) ENGINE=InnoDB DEFAULT CHARSET=utf8;🎜
    🎜Insérer les données de test :🎜Ensuite, insérez des données de test pour la gestion ultérieure des droits test des fonctions. 🎜🎜🎜L'instruction SQL pour insérer les données utilisateur est la suivante : 🎜🎜INSERT INTO user (username, password)🎜VALUES ('user1 ', ' 123456'),🎜rrreee🎜L'instruction SQL pour insérer les données d'autorisation est la suivante :🎜🎜INSERT INTO permission (user_id, resource)🎜VALEURS (1 , 'order'),🎜rrreee
      🎜Implémentez la fonction de connexion utilisateur :🎜Dans le système de commande, vous devez d'abord implémenter la fonction de connexion utilisateur. Lorsqu'un utilisateur se connecte, il est nécessaire de vérifier si le numéro de compte et le mot de passe saisis par l'utilisateur sont corrects. 🎜🎜🎜Ce qui suit est un exemple de requête SQL de connexion utilisateur simple : 🎜🎜SELECT *🎜FROM user🎜WHERE username = 'user1'🎜 AND password code> = '123456';🎜🎜Si le résultat de la requête est vide, cela signifie que le compte ou le mot de passe est erroné ; si le résultat de la requête n'est pas vide, cela signifie que la vérification du compte et du mot de passe a réussi, et vous pouvez continuer avec opérations ultérieures. 🎜<ol start="4">🎜Implémentez la fonction de vérification des autorisations : 🎜Une fois la vérification de la connexion de l'utilisateur réussie, le contrôle d'accès peut être effectué sur différentes ressources du système en fonction des autorisations de l'utilisateur. 🎜🎜🎜Ce qui suit est un exemple de requête SQL simple de vérification des autorisations : 🎜🎜SELECT *🎜FROM <code>permission🎜WHERE user_id = 1🎜 AND resource code> = 'order';🎜🎜Si le résultat de la requête est vide, cela signifie que l'utilisateur n'a pas le droit d'accéder à la ressource spécifiée ; si le résultat de la requête n'est pas vide, cela signifie que l'utilisateur a le droit d'accéder ; la ressource spécifiée. 🎜🎜Vous pouvez utiliser des instructions de requête plus complexes pour implémenter des fonctions de vérification des autorisations plus riches en fonction des besoins réels, par exemple en utilisant des requêtes de connexion pour obtenir la liste d'autorisations spécifique de l'utilisateur. 🎜🎜Résumé : 🎜Grâce aux étapes ci-dessus, nous pouvons utiliser MySQL pour implémenter la fonction de gestion des droits d'utilisateur du système de commande. Lorsqu'un utilisateur se connecte, il peut vérifier l'exactitude du compte et du mot de passe, et après une vérification réussie, l'accès aux différentes ressources du système peut être contrôlé en fonction des autorisations de l'utilisateur. 🎜🎜Bien sûr, l'exemple de code ci-dessus n'est qu'une simple démonstration, et la fonction de gestion des autorisations réelle peut être plus complexe. Dans le développement réel, davantage de détails et de problèmes de sécurité doivent être pris en compte, tels que le stockage crypté par mot de passe, la prévention de l'injection SQL, etc. 🎜🎜J'espère que l'introduction de cet article pourra vous aider à comprendre et à mettre en œuvre la fonction de gestion des droits des utilisateurs. 🎜

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