Étiquette : Contrôle d’accès
-
Des règles d’URL qui s’appliquent partout, pas seulement dans un pare-feu
Les mêmes options que security.access_control, une autre portée. Et un accident silencieux qui attend quiconque déplace une règle sans supprimer l’originale.
-
Garder un contrôleur, de trois façons
L’attribut du composant, l’IsGranted de Symfony, ou un vérificateur injecté. Les trois atteignent les mêmes votants, et chacun a son moment.
-
Enregistrer le bundle vaut activation
Pas de drapeau enabled : enregistrer le bundle vaut activation. Voici ce qu’il reprend, ce qu’il laisse tranquille, et le seul cas où il refuse.
-
Dire au composant qui demande
Les points d’entrée demandent à un service qui est le demandeur. Le remplacer est ce qui fait fonctionner le composant sans aucun Security.
-
Qui demande vraiment : usurpation et délégation
Un administrateur qui usurpe l’identité d’un utilisateur et un agent autorisé à agir pour lui partagent une forme, et la RFC 8693 lui donne un nom.
-
N’importe quoi peut être un demandeur
Un jeton, une clé d’API, un compte de service, une chaîne. Et des rôles qui n’ont plus besoin de Symfony Security pour exister.
-
Les circonstances d’une question
Le quatrième champ d’une question : ce qui n’appartient ni au demandeur ni au sujet. Quatre clés semées, et un sac laissé ouvert exprès.
-
Expressions et fermetures en guise d’attributs
Un attribut peut être une expression ou une fermeture. Voici les variables publiées, les fonctions disponibles, et le piège qu’il a fallu corriger.
-
Un algorithme de combinaison bien à vous
Une règle que les quatre algorithmes fournis n’expriment pas tient en une classe à deux méthodes : voici une règle de lancement à deux clés, en entier.
-
Une politique que le composant ne fournit pas
Quand All, AtLeastOneOf et When ne le disent pas, une politique et un gestionnaire dans votre propre src le disent, et le profileur continue de dessiner l’arbre.
-
Il n’y a pas de Not, et c’est délibéré
Nier trois valeurs n’est pas défini, et les permissions négatives sont un piège connu. Chacune des deux raisons se suffit à elle-même.
-
All, AtLeastOneOf, When : composer des politiques d’accès
Trois combinateurs transforment les politiques en arbre, et le profileur montre la forme plutôt qu’une liste plate de décisions sans rapport.
-
Déclarer la question là où elle s’applique
Une politique d’accès est une question déclarée en attribut, à côté du code qu’elle garde, avec un message pour le visiteur et une raison pour vous.
-
Une décision n’est pas un booléen
decide() rend le verdict, la raison et chaque vote. C’est ce qui rend un refus diagnosticable longtemps après.
-
L’autorisation sans framework
La bibliothèque tient en un objet, demande PHP et un contrat de répartiteur d’événements, et ne connaît rien à HTTP. La voici en entier.