权限系统
一句话:控制"谁能看什么、谁能做什么操作"的机制,避免所有登录用户都能访问/修改所有数据。
它是什么
权限系统解决的是授权(Authorization)问题——区别于"你是谁"的身份验证(Authentication),权限系统管的是"你能做什么"。简单场景可能只分"普通用户/管理员",复杂场景需要更精细的角色和权限组合(见RBAC)。
适合干什么
- 多角色协作的系统(比如客服、运营、管理员权限不同)
- 需要保护敏感数据/操作不被误操作或越权访问
不适合干什么
- 个人使用、完全没有角色区分需求的简单工具
普通人怎么用
先梳理清楚系统里有哪些角色(如普通用户、客服、管理员),每个角色能看什么、能操作什么,画一张简单的权限对照表,再据此实现权限判断逻辑。
进阶用户怎么用
复杂系统建议用RBAC(基于角色的权限控制)模型,把"用户-角色-权限"三层解耦,方便灵活调整而不用改代码;重要操作要在服务端做权限校验,不能只在前端隐藏按钮(前端隐藏很容易被绕过)。
常见误区
- 以为前端把某个按钮隐藏起来就等于做了权限控制,实际上懂技术的人可以绕过前端直接调用接口,权限校验必须在服务端做
- 权限设计得过于复杂,每个用户单独配置权限,难以维护,应该尽量用角色归类简化管理
和相似工具的区别
- 和身份验证(登录)的区别:身份验证解决"你是谁",权限系统解决"你能做什么",两者是不同层面的问题,都需要
入门步骤
- 梳理系统里的角色和对应权限
- 在服务端接口层做权限校验
- 前端根据权限动态展示可操作的功能(体验优化,不能替代服务端校验)