What are Laravel policies and how do they differ from gates?
Updated May 16, 2026
Short answer
Policies handle authorization logic for specific models, while gates define general authorization rules.
Deep explanation
Laravel authorization is split into gates and policies. Gates are simple closures used for general checks like 'is admin'. Policies are classes tied to models and organize authorization logic per resource (e.g., PostPolicy for Post model). Policies scale better in large applications because they group related rules and integrate cleanly with Eloquent models.
Unlock with a Pro subscription to view this section.
View pricingReal-world example
No real-world example available yet.
Unlock with a Pro subscription to view this section.
Upgrade to ProCommon mistakes
No common mistakes listed yet.
Unlock with a Pro subscription to view this section.
Upgrade to ProFollow-up questions
No follow-up questions available yet.
Unlock with a Pro subscription to view this section.
Upgrade to Pro