Comment concevoir une structure de table MySQL sécurisée pour implémenter des fonctions de contrôle d'autorisation ?
Avec le développement d'Internet, la sécurité des systèmes fait l'objet d'une attention croissante. Dans de nombreuses applications, le contrôle des autorisations est un moyen important de protéger les données et fonctionnalités sensibles. Dans la base de données MySQL, nous pouvons implémenter des fonctions de contrôle des autorisations en concevant correctement la structure des tables pour garantir que seuls les utilisateurs autorisés peuvent accéder à des données spécifiques.
Ce qui suit est une conception de base de la structure de table MySQL pour implémenter la fonction de contrôle des autorisations :
Nom de la table : utilisateurs
Champs : identifiant, nom d'utilisateur, mot de passe, identifiant_rôle
Nom de la table : rôles
Champs : id, nom_rôle
Nom de la table : permissions
Champs : id, permission_name
Nom de la table : role_permissions
Champs : role_id, permission_id
Nom de la table : user_roles
Champs : user_id, role_id
Ici, nous implémentons les rôles et les autorisations, les utilisateurs et les rôles via la relation entre les tables associées. . Voici un exemple de code pour créer la table et remplir les exemples de données :
-- Créer une table d'utilisateurs
CREATE TABLE utilisateurs (
id INT PRIMARY KEY AUTO_INCREMENT,
nom d'utilisateur VARCHAR(20) NOT NULL,
mot de passe VARCHAR(255) NOT NULL,
role_id INT
) ;
permission_name VARCHAR(30) NOT NULL
);
--Create role_permissions table
CREATE TABLE role_permissions (
permission_id INT,
PRIMARY KEY (role_id, permission_id)
);
--Créer une table user_roles
user_id INT,
role_id INT,
PRIMARY KEY (user_id, role_id)
);
-- Remplissez des exemples de données
INSERT INTO permissions (permission_name) VALUES ('Créer un article'), ('Modifier l'article'), ('Supprimer l'article');
INSERT INTO role_permissions (role_id , permission_id) VALEURS (1, 1), (1, 2), (1, 3), (2, 2), (3, 3);
INSÉRER DANS les utilisateurs (nom d'utilisateur, mot de passe, role_id) VALEURS ('admin', 'mot de passe', 1), ('éditeur', 'mot de passe', 2), ('lecteur', 'mot de passe', 3);
INSERT INTO user_roles (user_id, role_id) VALUES (1, 1), (2, 2), (3, 3);
Grâce à la structure du tableau ci-dessus et aux exemples de données, nous pouvons implémenter les fonctions de contrôle d'autorisation suivantes :
Les administrateurs ont l'autorisation de créer, modifier et supprimer des articles ;
Les éditeurs ont la possibilité ; pour modifier les articles Autorisations ;
Les lecteurs n'ont aucune autorisation spéciale.
Il convient de noter que lors de la conception de la structure de la table, elle doit être conçue raisonnablement en fonction des besoins réels. En plus de la structure de table de base de l'exemple ci-dessus, vous pouvez ajouter davantage de champs et de relations entre tables en fonction des besoins spécifiques de votre entreprise.
En bref, en concevant rationnellement la structure des tables MySQL pour implémenter la fonction de contrôle des autorisations, la sécurité du système peut être efficacement protégée. J'espère que le contenu ci-dessus vous sera utile.
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!