## 安装与初始化
composer require laravel/sanctum
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
中间件与 guard 配置:在 `config/sanctum.php` 与 `config/auth.php` 按需设置,API 路由使用 `auth:sanctum`。
## 令牌签发(可验证)
$token = $user->createToken('api', ['orders:read', 'orders:write'])->plainTextToken;
通过 `curl` 验证:
curl -H "Authorization: Bearer <token>" https://api.example.com/orders
## RBAC:Gate/Policy 与缓存
- 定义资源操作的 Policy,并在控制器中调用 `this->authorize('view', $order)`。
- 将角色-权限映射缓存到 Redis(过期与失效策略谨慎设计)。
## 路由与配置缓存
php artisan route:cache
php artisan config:cache
注意:路由缓存要求移除闭包路由;权限中间件与策略不应依赖运行时可变的未缓存配置。
## 回归与监控
- 记录认证失败率与权限拒绝分布,评估策略覆盖与异常入口。
- 压测关键授权接口,建立 `RPS` 与 `p95/p99` 基线。
## 注意事项
- SPA 场景需配置 `stateful` 域名与 CSRF;API 场景使用 Bearer Token。
- 对长生命周期令牌设置细粒度能力列表,避免过度授权。
## 结语
以 Sanctum 的轻量认证结合 RBAC 的策略治理,并用缓存与路由编译优化热点路径,能够在保持安全性的同时保证吞吐与可维护性。

发表评论 取消回复