计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
laravel-security【效率与协作】Harden Laravel apps with Policies for model authorization, Gate-based RBAC, validated mass assignment, and CSRF protection. Use when creating authorization policies, securing env config access, or preventing mass assignment vulnerabilities.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
php artisan make:policy PostPolicy --model=Post.bool for view, update, delete actions.$this->authorize('update', $post).Gate::before() for admin users in AuthServiceProvider.$request->validated() for Model::create().See implementation examples for Policy class with controller authorization.
php artisan make:policy PostPolicy --model=Post for model-level authorization.update(User $user, Post $post): bool and call $this->authorize('update', $post) in controllers.Gate::define('admin', fn(User $user) => ...) for global permissions. Check with Gate::allows('admin') or Blade @can('admin'). prefer Policies for model-bound checks; use Gates for global permissions.Gate::before(fn($u) => $u->isAdmin() ? true : null) in AuthServiceProvider.config('app.key') in your application code. Never env() in controllers; use config() instead.php artisan config:cache to validate that env() isn't used where it shouldn't .<form> tags. active on web routes by default; use ->except(['/webhook']) only for trusted third-party callbacks.Gate::before for admin bypass; or use spatie/laravel-permission; never inline $user->role === 'admin'.env() outside config files: Access via config() helper.validated().config('app.key'), never env() in controllers.When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:
configuration files,only in configuration,Do not call `env()
@can('admin')
never env() in controllers,use config() in controllers,not in controllers
web routes,web middleware,CSRF middleware
Additional task-grounded exact anchors: config('app.key')