Skillshub laravel-policies-and-authorization

Policies and Authorization

install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/noartem/skills/laravel-policies-and-authorization" ~/.claude/skills/comeonoliver-skillshub-laravel-policies-and-authorization && rm -rf "$T"
manifest: skills/noartem/skills/laravel-policies-and-authorization/SKILL.md
source content

Policies and Authorization

Use Policies for per-model actions; use Gates for cross-cutting checks.

Commands

# Generate a policy
sail artisan make:policy PostPolicy --model=Post   # or: php artisan make:policy PostPolicy --model=Post

# Apply in routes (resource controllers)
Route::resource('posts', PostController::class);
// In controller constructor
$this->authorizeResource(Post::class, 'post');

# One-off checks
$this->authorize('update', $post);           // in controller
Gate::allows('manage-billing', $user);       // ad-hoc gate

Patterns

  • Use resource policy methods:
    viewAny, view, create, update, delete, restore, forceDelete
  • Prefer policy methods over inline checks; keeps controllers clean
  • Register policies in
    AuthServiceProvider
  • Use
    can
    middleware for quick route protection:
    ->middleware('can:update,post')
  • In tests, assert
    actingAs($user)->get(...)->assertForbidden()
    for denied cases