Skip to content

认证与授权 ​

1. 认证系统 ​

功能说明
Sanctum Token认证双 Guard Token 认证(admin/web),默认有效期 6 个月
多账号登录支持用户名/邮箱/手机号三种登录方式
第三方登录微信公众号授权登录、Apple 登录(管理员端预留)
验证码服务短信验证码(EasySMS)和邮件验证码
Token 管理刷新 Token、查看/撤销已签发的个人访问令牌
登录防护登录频率限制、IP 限制

2. 权限管理 ​

功能说明
角色管理创建、编辑、删除角色
权限管理管理系统权限列表
角色权限分配为角色分配权限
管理员角色分配为管理员分配角色
权限检查路由级(permission:xxx 中间件)和方法级权限控制
菜单权限基于权限的菜单显示控制,前端自动过滤无权限路由

权限模型 ​

  • 使用 spatie/laravel-permission v8 实现 RBAC
  • 支持角色与权限多对多关系
  • 支持模型级多态关联(管理员、用户等多主体共用权限体系)
  • 权限检查支持中间件和 Gate 两种方式

AI 助手权限 ​

AI 助手(/admin/chat)复用同一套权限体系,分三层控制:

  1. 入口:ChatController 挂载 permission:chat.use 中间件
  2. 工具过滤:Assistant::tools() 按当前管理员的权限点动态过滤可用工具(工具实现 RequiresPermission 契约声明权限点)
  3. 执行兜底:工具 handle() 内 authorizeAdmin() 二次校验,防止模型被诱导发起越权调用

权限点与后台菜单共用(如 users.index/users.edit/settings.edit),AI 助手入口使用独立的 chat.use 权限点。


文档来源:PRD 第 3.2 节