Maison développement back-end tutoriel php Comment utiliser les fonctions PHP pour implémenter l'authentification unique et la vérification des autorisations pour la connexion et la déconnexion des utilisateurs ?

Comment utiliser les fonctions PHP pour implémenter l'authentification unique et la vérification des autorisations pour la connexion et la déconnexion des utilisateurs ?

Jul 26, 2023 pm 07:02 PM
php函数 单点登录 用户登录 权限验证

Comment utiliser les fonctions PHP pour implémenter l'authentification unique et la vérification des autorisations pour la connexion et la déconnexion des utilisateurs ?

Avec le développement d'Internet, de plus en plus de sites Web ou d'applications nécessitent que les utilisateurs se connectent pour obtenir des services plus personnalisés ou améliorer l'expérience utilisateur. Pour plusieurs sites Web ou applications, si chacun nécessite une connexion et une vérification d'autorisation distinctes, cela entraînera des désagréments pour les utilisateurs. C’est ainsi qu’est né le concept de Single Sign-On (SSO). Cet article explique comment utiliser les fonctions PHP pour implémenter l'authentification unique et la vérification des autorisations, et fournit des exemples de code correspondants.

  1. Mise en œuvre de la connexion utilisateur
    La connexion utilisateur est la première étape pour obtenir une authentification unique. Nous pouvons utiliser la SESSION de PHP pour stocker le statut de connexion de l'utilisateur et les informations associées. Voici un exemple simple de code de connexion utilisateur :
<?php
session_start();  // 开启SESSION

// 用户登录操作
function userLogin($username, $password) {
    // 根据用户名和密码判断用户是否合法
    if ($username === 'admin' && $password === 'password') {
        $_SESSION['username'] = $username;  // 将用户名存储到SESSION中
        return true;
    } else {
        return false;
    }
}

// 用户注销操作
function userLogout() {
    unset($_SESSION['username']);  // 从SESSION中删除用户名
    session_destroy();  // 销毁SESSION
    return true;
}
?>
Copier après la connexion
  1. Implémentation de l'authentification unique
    Pour implémenter l'authentification unique sur plusieurs sites Web ou applications, le statut de connexion de l'utilisateur doit être partagé. Une méthode courante consiste à utiliser des cookies pour stocker les informations de connexion de l'utilisateur. Voici un exemple simple de code d'authentification unique :
<?php
session_start();  // 开启SESSION

// 用户登录操作
function userLogin($username, $password) {
    // 根据用户名和密码判断用户是否合法
    if ($username === 'admin' && $password === 'password') {
        $_SESSION['username'] = $username;  // 将用户名存储到SESSION中
        
        // 将会话ID存储到Cookie中,设置过期时间为7天
        setcookie('session_id', session_id(), time()+7*24*60*60, '/', 'sso.example.com');
        
        return true;
    } else {
        return false;
    }
}

// 用户注销操作
function userLogout() {
    unset($_SESSION['username']);  // 从SESSION中删除用户名
    session_destroy();  // 销毁SESSION
    
    // 删除存储在Cookie中的会话ID
    setcookie('session_id', '', time()-1, '/', 'sso.example.com');
    
    return true;
}
?>
Copier après la connexion

Dans l'exemple ci-dessus, la fonction setcookie() est utilisée pour définir Cookie. Le paramètre session_id spécifie le nom du cookie. La fonction session_id() renvoie l'ID de la session en cours time()+7*24*60*. 60 est utilisé. Si le délai d'expiration est fixé à 7 jours, '/' signifie que le cookie est disponible dans le répertoire racine du site Web, et 'sso.example. com' signifie que le cookie peut être utilisé dans exemple Tous les hôtes sous le nom de domaine .com. setcookie()函数用于设置Cookie。参数session_id指定Cookie的名称,session_id()函数返回当前会话的ID,time()+7*24*60*60用于设置过期时间为7天,'/'表示Cookie在网站的根目录下可用,'sso.example.com'表示Cookie可用于example.com域名下的所有主机。

  1. 实现权限验证
    单点登录的另一个重要部分是权限验证。一般来说,每个网站或应用都有自己独立的权限系统。我们可以使用PHP函数来进行权限验证。下面是一个简单的权限验证代码示例:
<?php
session_start();  // 开启SESSION

// 验证用户是否已登录
function isUserLoggedIn() {
    // 判断SESSION中是否存储了用户名
    return isset($_SESSION['username']);
}

// 验证用户是否拥有某个权限
function hasPermission($permission) {
    // 根据用户名查询用户权限表,判断用户是否拥有该权限
    $userPermissions = ['view', 'edit', 'delete'];
    return in_array($permission, $userPermissions);
}
?>
Copier après la connexion

以上示例中,isUserLoggedIn()函数判断SESSION中是否存储了用户名,用于验证用户是否已登录。hasPermission($permission)

    Mise en œuvre de la vérification des autorisations

    Une autre partie importante de l'authentification unique est la vérification des autorisations. De manière générale, chaque site Web ou application dispose de son propre système d'autorisation indépendant. Nous pouvons utiliser les fonctions PHP pour la vérification des autorisations. Ce qui suit est un exemple simple de code de vérification d'autorisation :

    rrreee🎜Dans l'exemple ci-dessus, la fonction isUserLoggedIn() détermine si le nom d'utilisateur est stocké dans la SESSION et est utilisée pour vérifier si l'utilisateur est connecté. La fonction hasPermission($permission) interroge la table des autorisations utilisateur en fonction du nom d'utilisateur pour déterminer si l'utilisateur dispose d'une certaine autorisation. 🎜🎜Résumé : 🎜L'authentification unique vise à fournir aux utilisateurs une méthode pratique de connexion et de vérification des autorisations. L'utilisation des fonctions PHP pour implémenter l'authentification unique et la vérification des autorisations peut éviter des opérations répétées et améliorer l'efficacité du développement. Cet article fournit un exemple de code pour la connexion et la déconnexion des utilisateurs, et explique comment utiliser les fonctions SESSION, Cookie et PHP pour implémenter l'authentification unique et la vérification des autorisations. Les développeurs peuvent modifier et développer en fonction des besoins réels pour obtenir un système de gestion des utilisateurs plus puissant. 🎜

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Comment utiliser Thunder pour télécharger des liens magnétiques Comment utiliser Thunder pour télécharger des liens magnétiques Feb 25, 2024 pm 12:51 PM

Avec le développement rapide de la technologie des réseaux, nos vies ont également été grandement facilitées, notamment grâce à la possibilité de télécharger et de partager diverses ressources via le réseau. Dans le processus de téléchargement de ressources, les liens magnétiques sont devenus une méthode de téléchargement très courante et pratique. Alors, comment utiliser les liens magnétiques Thunder ? Ci-dessous, je vais vous donner une introduction détaillée. Xunlei est un outil de téléchargement très populaire qui prend en charge diverses méthodes de téléchargement, notamment les liens magnétiques. Un lien magnétique peut être compris comme une adresse de téléchargement grâce à laquelle nous pouvons obtenir des informations pertinentes sur les ressources.

Paramètres de sécurité du serveur PHP : Comment interdire les téléchargements de fichiers Paramètres de sécurité du serveur PHP : Comment interdire les téléchargements de fichiers Mar 10, 2024 pm 04:48 PM

Les paramètres de sécurité du serveur PHP constituent une partie importante du fonctionnement du site Web qui ne peut être ignorée. L'interdiction des téléchargements de fichiers est une étape clé pour protéger la sécurité des données du site Web. En définissant certaines mesures de sécurité dans le code PHP, il est possible d'empêcher efficacement les utilisateurs malveillants d'obtenir des informations sensibles sur le site Web en téléchargeant des fichiers. Cet article détaillera comment désactiver les téléchargements de fichiers et fournira des exemples de code PHP spécifiques. 1. L'accès direct aux fichiers sensibles est interdit. Les fichiers sensibles stockés dans le répertoire du site Web, tels que les fichiers de configuration de base de données, les fichiers journaux, etc., ne doivent pas être accessibles directement via le navigateur.

Gestion des autorisations GitLab et conseils d'intégration de l'authentification unique Gestion des autorisations GitLab et conseils d'intégration de l'authentification unique Oct 21, 2023 am 11:15 AM

Les conseils de gestion des autorisations et d'intégration de l'authentification unique de GitLab nécessitent des exemples de code spécifiques Présentation : Dans GitLab, la gestion des autorisations et l'authentification unique (SSO) sont des fonctions très importantes. La gestion des autorisations peut contrôler l'accès des utilisateurs aux référentiels de code, aux projets et à d'autres ressources, tandis que l'intégration de l'authentification unique peut fournir une méthode d'authentification et d'autorisation des utilisateurs plus pratique. Cet article explique comment effectuer la gestion des autorisations et l'intégration de l'authentification unique dans GitLab. 1. Gestion des autorisations Contrôle des autorisations d'accès au projet Dans GitLab, les projets peuvent être définis comme privés

Résumé des méthodes d'implémentation des fonctions d'édition et de traitement d'images à l'aide des fonctions de traitement d'images PHP Résumé des méthodes d'implémentation des fonctions d'édition et de traitement d'images à l'aide des fonctions de traitement d'images PHP Nov 20, 2023 pm 12:31 PM

Les fonctions de traitement d'images PHP sont un ensemble de fonctions spécifiquement utilisées pour traiter et éditer des images. Elles fournissent aux développeurs de riches fonctions de traitement d'images. Grâce à ces fonctions, les développeurs peuvent mettre en œuvre des opérations telles que le recadrage, la mise à l'échelle, la rotation et l'ajout de filigranes aux images pour répondre aux différents besoins de traitement d'image. Tout d'abord, je vais vous présenter comment utiliser les fonctions de traitement d'image PHP pour implémenter la fonction de recadrage d'image. PHP fournit la fonction imagecrop(), qui peut être utilisée pour recadrer des images. En passant les coordonnées et la taille de la zone de recadrage, on peut recadrer l'image

Introduction aux fonctions PHP : fonction strtr() Introduction aux fonctions PHP : fonction strtr() Nov 03, 2023 pm 12:15 PM

Introduction à la fonction PHP : fonction strtr() En programmation PHP, la fonction strtr() est une fonction de remplacement de chaîne très utile. Il est utilisé pour remplacer les caractères ou chaînes spécifiés dans une chaîne par d'autres caractères ou chaînes. Cet article présentera l'utilisation de la fonction strtr() et donnera quelques exemples de code spécifiques. La syntaxe de base de la fonction strtr() est la suivante : strtr(string$str, array$replace) où $str est le mot d'origine à remplacer.

Comparer les fonctions PHP aux fonctions dans d'autres langages Comparer les fonctions PHP aux fonctions dans d'autres langages Apr 10, 2024 am 10:03 AM

Les fonctions PHP présentent des similitudes avec les fonctions d’autres langages, mais possèdent également des fonctionnalités uniques. Syntaxiquement, les fonctions PHP sont déclarées avec function, JavaScript est déclaré avec function et Python est déclaré avec def. En termes de paramètres et de valeurs de retour, les fonctions PHP acceptent des paramètres et renvoient une valeur. JavaScript et Python ont également des fonctions similaires, mais la syntaxe est différente. En termes de portée, les fonctions en PHP, JavaScript et Python ont toutes une portée globale ou locale, accessibles de n'importe où, et les fonctions locales ne sont accessibles que dans la portée de leur déclaration.

Quelle est la performance des fonctions PHP ? Quelle est la performance des fonctions PHP ? Apr 18, 2024 pm 06:45 PM

Les performances des différentes fonctions PHP sont cruciales pour l’efficacité des applications. Les fonctions offrant de meilleures performances incluent echo et print, tandis que les fonctions telles que str_replace, array_merge et file_get_contents ont des performances plus lentes. Par exemple, la fonction str_replace est utilisée pour remplacer des chaînes et a des performances modérées, tandis que la fonction sprintf est utilisée pour formater des chaînes. L'analyse des performances montre qu'il ne faut que 0,05 milliseconde pour exécuter un exemple, prouvant que la fonction fonctionne bien. Par conséquent, une utilisation judicieuse des fonctions peut conduire à des applications plus rapides et plus efficaces.

Similitudes et différences entre les fonctions PHP et les fonctions Flutter Similitudes et différences entre les fonctions PHP et les fonctions Flutter Apr 24, 2024 pm 01:12 PM

Les principales différences entre les fonctions PHP et Flutter sont la déclaration, la syntaxe et le type de retour. Les fonctions PHP utilisent une conversion de type de retour implicite, tandis que les fonctions Flutter spécifient explicitement les types de retour ; les fonctions PHP peuvent spécifier des paramètres facultatifs via ?, tandis que les fonctions Flutter utilisent obligatoires et [] pour spécifier les paramètres obligatoires et facultatifs ; les fonctions PHP utilisent = pour transmettre les paramètres de nom, tandis que Les fonctions Flutter utilisent {} pour spécifier des paramètres nommés.

See all articles