Laravel

Authorization & Policies

Gates, policies, model policies, @can directive, authorize method, middleware, role-based access

18 interview questionsยท
Mid-Level
1

What is a Gate in Laravel?

Answer

A Gate is a simple closure that determines whether a user is authorized to perform a given action. Gates are defined in the AuthServiceProvider and allow centralizing authorization logic in a concise manner. They are particularly suited for one-off checks that are not tied to a specific model.

2

What is a Policy in Laravel?

Answer

A Policy is a class that organizes authorization logic around a specific Eloquent model or resource. It groups all authorization methods related to that model (viewAny, view, create, update, delete) in a single file, which improves the organization and maintainability of authorization code.

3

How to define a Gate in the AuthServiceProvider?

Answer

Gates are defined in the boot method of the AuthServiceProvider using the Gate facade with the define method. This method takes two arguments: the gate name and a closure that receives the authenticated user and returns a boolean indicating whether the action is authorized.

4

Which Artisan command creates a Policy?

5

What is the purpose of the @can directive in Blade views?

+15 interview questions

Master Laravel for your next interview

Access all questions, flashcards, technical tests, code review exercises and interview simulators.

Start for free