权限控制Authorization
你可能会说
登录之后还要分谁能看谁不能看,管理员和普通用户不一样。
确认身份后,根据规则判断用户是否有权访问特定界面或执行某项操作·例如,普通用户只能修改自己的资料,管理员可管理成员。敏感操作必须在服务端逐次检查;隐藏按钮只改善界面,不能代替权限判断。
当前用户成员 · 小林
查看项目允许
编辑自己的任务允许
删除他人任务拒绝
管理全部账号拒绝
组成结构 · Anatomy
谁能否做什么作用于哪个资源
当前已通过认证的用户,以及可信来源中的角色和成员关系
读取、编辑、删除、审批等需要逐项判断的能力
目标记录、项目或文件;还要检查它归谁所有、属于哪个组织
常见变体 · Variants
按角色Role-based
viewer · editor · admin
规则简单、角色边界清晰
按资源归属Ownership
post.userId === me.id
用户只能操作自己的数据
按成员关系Membership
project_members
团队与多人协作产品
典型使用场景
只能编辑自己的资料
个人资料按资源归属判断编辑权限
当前用户u_23资料所有者u_23结果允许编辑
项目成员可查看
项目成员成员关系决定查看权限
项目BuildHub用户角色viewer权限可查看 · 不可删除
管理员可以封禁账号
管理员操作封禁账号并留下审计记录
目标账号user_42原因重复滥用
确认封禁记录 admin_u7 · 16:42 · disable user_42
付费用户访问高级功能
付费功能订阅状态由服务端确认
当前方案Free
→
导出高清文件需要 Pro
隐藏入口之外,接口仍要检查订阅权限
延伸阅读 · 权威出处