Maison > développement back-end > tutoriel php > Introduction détaillée à l'utilisation intelligente des opérations de bits par PHP pour gérer les autorisations de sites Web

Introduction détaillée à l'utilisation intelligente des opérations de bits par PHP pour gérer les autorisations de sites Web

黄舟
Libérer: 2023-03-06 15:14:02
original
1445 Les gens l'ont consulté

L'éditeur suivant vous proposera un article sur la façon dont PHP utilise intelligemment les opérations sur les bits pour implémenter la gestion des autorisations du site Web. L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur et jetons un coup d'œil

Tout d'abord, définissons 4 constantes pour définir quatre autorisations :

====================================== ==

define(ADD,1);//Augmenter les autorisations des enregistrements de la base de données
define(UPD,2);//Modifier les autorisations des enregistrements de la base de données
define(SEL,4);//Autorisation de rechercher des enregistrements de base de données
define(DEL,8);//Autorisation de supprimer des enregistrements de base de données

= ====== ==============================

Suivant Supposons qu'il y ait 3 utilisateurs :

L'utilisateur A dispose de quatre autorisations ADD-UPD-SEL-DEL Utilisez l'opération OR au niveau du bit pour calculer la valeur totale de A. permissions
$a_ all=ADD|UPD|SEL|DEL;//$all=15 Vous pouvez remarquer que cette valeur est la même que le résultat de l'addition
L'utilisateur B a les trois autorisations ADD-UPD-SEL, utilisez l'opération Bitwise OR calcule la valeur totale des autorisations de B
$b_all=ADD|UPD|SEL;//$all=7 Cette valeur est la même que le résultat de l'addition
L'utilisateur C dispose de deux autorisations, ADD-UPD. Calculez la valeur d'autorisation totale de C à l'aide de l'opération OR au niveau du bit
$c_all=ADD|UPD;//$all=3 Cette valeur est toujours la même que le résultat de l'addition

$c_all=ADD|UPD;//$all=3. 🎜>

====== ===============================

Ensuite, nous utilisons l'opération ET au niveau du bit
$a_all&ADD Le résultat est vrai
$a_all&UPD Le résultat est vrai
$a_all&SEL Le résultat est vrai
$a_all&DEL Le résultat est vrai

================================= =====

$b_all&ADD Le résultat est vrai
$b_all&UPD Le résultat est vrai
$b_all&SEL Le résultat est vrai
$b_all&DEL Le le résultat est faux

=== ============================= =====

$ c_all&ADD Le résultat est vrai
$c_all&UPD Le résultat est vrai
$c_all&SEL Le résultat est faux
$c_all&DEL Le le résultat est faux

======= ========================= =====

Avez-vous découvert le secret ?

1. Lorsque la valeur totale des autorisations est associée à l'autorisation qui n'existe pas, le résultat est faux

2. les valeurs des autorisations sont toutes 2 à la puissance 2

Après avoir connu ces deux points de traitement des autorisations, cela devient simple, il suffit d'ajouter la valeur totale des autorisations actuelles de l'utilisateur et. le courant Les autorisations requises pour l'opération sont AND au niveau du bit. Si le résultat est vrai, exécutez-le, et s'il est faux, signalez simplement une erreur (bien sûr, cela ne signale pas nécessairement une erreur, vous pouvez concevoir votre propre programme lorsque vous n'avez pas l'autorisation).

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal