ThinkPHP如何实现按钮级权限控制_前端Vue与后端接口鉴权配合【指南】

风磊同学_5983

风磊同学_5983

2026-06-22

336人浏览

原创

按钮级权限控制必须后端鉴权,权限码需精确到article:delete粒度并存数据库;路由绑定权限码、redis缓存用户权限、变更时同步清理缓存;vue仅做显隐,不替代安全校验。

thinkphp如何实现按钮级权限控制_前端vue与后端接口鉴权配合【指南】

按钮级权限控制不是靠前端藏一藏就完事的,后端必须对每个操作接口做独立鉴权,且权限码要能精确到 article:delete 这种粒度。Vue 只负责显隐,不负责可信判断。

权限码怎么定义才可维护

不能用 $this->request->action() 直接拼权限码——它只返回方法名(如 delete),丢失模块上下文。也不能硬编码在控制器里,比如写死 'admin/article/delete',改个路由就得动代码。

  • 推荐方式:在路由定义时显式绑定权限码,例如 Route::get('admin/article/delete', 'ArticleController@delete')->option('permission', 'article:delete')
  • 或统一约定命名规则:{module}:{action}(如 user:export、order:audit),由基类控制器从路由解析出模块名 + 方法名自动映射
  • 权限码必须存数据库(auth_rule.rule_code),带唯一索引和 title 字段,方便后台增删按钮时直接录入,不改代码

后端接口校验必须每请求都执行

别信“用户登录时查一次权限缓存就够了”——权限可能随时被运营调整,缓存不及时就会导致 403 或越权。

vue-composition-api-best-practices
vue-composition-api-best-practices

Vue 3 组合式 API 与

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程