Politique de porte de contrôle des autorisations Laravel
Cet article présente principalement la politique de contrôle des autorisations de Laravel, qui a une certaine valeur de référence. Maintenant, je la partage avec tout le monde. Les amis dans le besoin peuvent s'y référer
À propos des autorisations
Origine
Le contrôle d'autorisation le plus basique, opérateur ternaire ? :. Jugement évidemment conditionnel, puis passez à la logique d'exécution correspondante. L'idée de Laravel est de séparer la logique d'exécution (code de production) et l'autorisation (logique de jugement conditionnel). Concentrez-vous sur la génération des conditions, et de manière générale, renforcez la logique d'autorisation (ce qui est très utile pour les autorisations complexes). Postulat : tous les codes sont démarrés une fois l'enregistrement du service terminé. Le code suivant sera donc enregistré. Son but est de trouver le corps logique qui autorise véritablement le jugement.Gate::define('update articles', 'ArticlePolicy@update')
Définition de l'autorisation Laravel
Définir l'autorisation dans la méthode AuthServiceProvider
boot
Gate::define('update articles', function ($user, $article) { return $user->id == $article->user_id; }); Gate::define('update articles', 'ArticlePolicy@edit');
<?php namespace App\Policies; use App\User; use App\Models\Article; class ArticlePolicy { public function update(User $user, Article $article) { return $user->id == $article->author_id; } }
- Façades de portail :
- et
.
Gate::allows('update articles', $article)
Gate::denies('update articles', $article)
Le contrôleur introduit le - trait
AuthorizesRequests
.$this->authorize('update articles', $article)
Modèle de lame : directives - et
.
@can('update articles', $article)
@cannot('update articles', $article)
Instances de modèle utilisateur : - et
.
$user->can('update articles', $article)
$user->cannot('update articles', $article)
Afin de définir et d'utiliser facilement l'autorisation, Laravel introduit une politique basée sur Gate. Chaque méthode de la stratégie sera enregistrée avec la description de la méthode gate::define. C'est pourquoi, après avoir utilisé l'enregistrement de la classe de stratégie, même si la logique d'autorisation n'est pas définie avec la façade Gate, la forme Gate::allow('strategy class method') peut toujours être utilisée dans le contrôleur pour effectuer des jugements d'autorisation.
Définissez d'abord la relation de mappage d'autorisation dans l'attribut de tableau
AuthServiceProvider
policies
/** * The policy mappings for the application. * * @var array */ protected $policies = [ Article::class => ArticlePolicy::class, ];
<?php namespace App\Policies; use App\User; use App\Models\Article; use Illuminate\Auth\Access\HandlesAuthorization; class ArticlePolicy { use HandlesAuthorization; public function create(User $user) { return true; } public function delete(User $user, Article $article) { return $user->id == $article->author_id; } public function before($user, $ability) { if($user->isSuperAdmin()){ return true; } } }
: Policy ajoute simplement un trait
à une classe PHP normale.HandlesAuthorization
Dans Policy, il sera appelé avant que toutes les méthodes ne soient exécutées. Il est souvent utilisé pour gérer la logique d'autorisation de l'administrateur.
Recommandations associées :
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Méthode pour obtenir le code de retour lorsque l'envoi par e-mail de Laravel échoue. Lorsque vous utilisez Laravel pour développer des applications, vous rencontrez souvent des situations où vous devez envoyer des codes de vérification. Et en réalité ...

Une introduction détaillée à l'opération de connexion de la version Web Sesame Open Exchange, y compris les étapes de connexion et le processus de récupération de mot de passe.

Besoin de télécharger l'application gate.io pour démarrer votre parcours de crypto-monnaie? Ce guide détaille les dernières étapes de téléchargement de la version pour les appareils iOS, Android et Windows. Visitez simplement le site officiel, trouvez le lien de téléchargement et sélectionnez l'option appropriée en fonction de votre appareil. Pour iOS, il ira directement à l'App Store, tandis que les utilisateurs d'Android et de Windows téléchargeront l'APK ou l'installateur pour l'installation manuelle. Une fois installé, vous pouvez lancer l'application et configurer votre compte pour entrer dans le monde de la crypto-monnaie.

Cet article fournit une revue détaillée de la dernière version du prix historique de Bitcoin en 2025 et a détaillé la tendance des prix de Bitcoin depuis sa naissance en 2009. De son obscurité initiale à un actif numérique mondial, le prix du bitcoin a connu de nombreuses surtensions et a chuté. Nous analyserons les principaux facteurs affectant les fluctuations des prix du bitcoin, y compris le développement technologique, les politiques réglementaires, le sentiment du marché et l'environnement macroéconomique, et faire une vision des tendances futures de développement pour fournir aux lecteurs une référence complète pour comprendre les changements de prix du bitcoin et aider les investisseurs à mieux procéder à des évaluations des risques.

Laravel Schedule Tâche d'exécution de dépannage non réactif Lorsque vous utilisez la planification des tâches de calendrier de Laravel, de nombreux développeurs rencontreront ce problème: Schedule: Exécuter ...

La méthode de traitement de l'échec de l'e-mail de Laravel à envoyer le code de vérification est d'utiliser Laravel ...

Les étapes de téléchargement officielles de l'application Sesame Open Exchange couvrent le processus de téléchargement du système Android et iOS, ainsi que des solutions de problèmes courantes, vous aidant à télécharger en toute sécurité et rapidement et à permettre des transactions pratiques de crypto-monnaies.

Cet article présente des applications et des sites Web de logiciels de devis d'actifs numériques gratuits qui peuvent fournir aux investisseurs des informations clés telles que les prix en temps réel, les graphiques de prix, le volume des transactions, les fluctuations, la profondeur du marché et les informations d'information pour aider les investisseurs à prendre des décisions éclairées. Par rapport aux logiciels payants, le logiciel gratuit présente les avantages sans frais, fonctionnalités riches et fonctionnement facile. L'article guide également les utilisateurs comment choisir le bon logiciel de marché et rappelle aux utilisateurs de faire attention aux sources de données, de précision des informations et d'éviter une dépendance excessive, ce qui aide finalement les investisseurs à mieux saisir les tendances du marché des actifs numériques. Vous voulez savoir comment utiliser efficacement les logiciels de marché libre? Lisez le texte intégral rapidement!
