Position actuelle: Accueil> Derniers articles> Comment utiliser PHP pour implémenter la connexion des utilisateurs et la gestion de l'autorisation des rôles à plusieurs niveaux

Comment utiliser PHP pour implémenter la connexion des utilisateurs et la gestion de l'autorisation des rôles à plusieurs niveaux

M66 2025-06-25

Comment utiliser PHP pour implémenter la connexion des utilisateurs et la gestion de l'autorisation des rôles à plusieurs niveaux

Lors du développement d'un site Web, la connexion et la déconnexion des utilisateurs sont des fonctions indispensables. Alors que le site Web continue de se développer, il est particulièrement important de réaliser une gestion raffinée des rôles et des autorisations utilisateur. Cet article présentera en détail comment implémenter les fonctions de connexion et de déconnexion des utilisateurs via les fonctions PHP et l'étendre à la gestion des rôles et des autorisations à plusieurs niveaux pour garantir que les différents utilisateurs ont des autorisations d'opération correspondantes.

1. Créer une base de données d'informations utilisateur

Tout d'abord, nous devons créer une table de base de données pour stocker les informations des utilisateurs, y compris le nom d'utilisateur, le mot de passe, le rôle et le temps de création. Ce qui suit est la structure de la base de données du tableau utilisateur:

Créer des utilisateurs de table (
    id int (11) Clé primaire Auto_Increment,
    nom d'utilisateur varchar (100) pas nul,
    mot de passe varchar (100) pas nul,
    Rôle varchar (50) pas nul,
    Created_at Timestamp Default Current_timestamp
));

Dans cette structure de table:

  • Le nom d'utilisateur est utilisé pour stocker le nom d'utilisateur.
  • Le mot de passe stocke la valeur cryptée du mot de passe.
  • rôle d'utilisateur du magasin de rôle ,
  • Created_at stocke le temps de création de l'utilisateur.

2. Écrivez la fonction de connexion PHP

Ensuite, nous écrivons une fonction PHP pour implémenter la fonction de connexion de l'utilisateur:

Connexion de la fonction ($ nom d'utilisateur, $ mot de passe) {
    // requête les informations utilisateur de la base de données $ query = "select * dans les utilisateurs où userName = '$ username'";
    $ result = mysqli_query ($ Conn, $ query);
    
    if (mysqli_num_rows ($ result) == 1) {
        $ user = mysqli_fetch_assoc ($ result);
        
        // Vérifiez le mot de passe if (mot de passe_verify ($ mot de passe, $ utilisateur ['mot de passe'])) {
            // Définir l'état de connexion utilisateur $ _Session ['user_id'] = $ user ['id'];
            $ _Session ['username'] = $ user ['username'];
            $ _Session ['Role'] = $ utilisateur [«rôle»];
            Retour Vrai;
        }
    }
    
    retourne false;
}

Le code ci-dessus vérifie d'abord si le nom d'utilisateur existe dans la base de données. S'il existe, vérifiez l'exactitude du mot de passe via la fonction Password_verify . Si la vérification est passée, les informations de l'utilisateur sont stockées en $ _SESSION pour réaliser la connexion de l'utilisateur.

3. Écrivez la fonction de déconnexion PHP

Ce qui suit est le code PHP que l'utilisateur se déconnecte, en utilisant session_unset () et session_destroy () pour détruire la session en cours:

Fonction Logout () {
    // Détruiser la session
    session_unset ();
    session_destroy ();
}

Grâce à ce code, l'utilisateur peut se déconnecter avec succès de la session et se déconnecter de l'état de connexion.

4. Mettre en œuvre la gestion des rôles et des permisment à plusieurs niveaux

Sur la base des fonctions de connexion et de déconnexion, nous pouvons nous étendre davantage pour ajouter des rôles à plusieurs niveaux et un contrôle d'autorisation. Voici une fonction pour vérifier les autorisations des utilisateurs:

Fonction CheckPermission ($ requiredRole) {
    if (isset ($ _ session ['role']) && $ _Session ['role'] == $ requiredRole) {
        Retour Vrai;
    }
    retourne false;
}

Cette fonction vérifie si le rôle de l'utilisateur actuel répond au rôle requis. Retour True s'il correspond; Sinon, retournez false .

5. Application du contrôle de l'autorisation

Ensuite, nous pouvons effectuer différentes opérations en fonction de différents rôles. Par exemple, les contrôles d'autorisation pour les administrateurs et les utilisateurs ordinaires:

if (checkPermission ('admin')) {
    // Effectuer des opérations d'administrateur} elseIF (checkPermission ('user')) {
    // effectuer des opérations utilisateur ordinaires} else {
    // Aucune opération d'autorisation}

Selon le rôle de l'utilisateur, le système effectuera des opérations correspondantes. Les administrateurs peuvent effectuer des opérations avec des autorisations plus élevées, tandis que les utilisateurs ordinaires ne peuvent effectuer que des opérations régulières.

Résumer

Grâce à l'exemple de code ci-dessus, nous montrons comment utiliser les fonctions PHP pour implémenter la connexion, la déconnexion et la gestion des rôles et des autorisations à plusieurs niveaux. De cette façon, les développeurs de sites Web peuvent gérer de manière flexible les autorisations des utilisateurs pour assurer la sécurité et la fiabilité du système.