Tech
[程序员] 做匿名举报系统,难的不是表单,而是权限模型与动态隔离
刚开始构思匿名举报( Whistleblowing )系统时,思路看起来很简单:前端放个表单,后端落库,再做个后台给 HR 或 Auditing 团队看。
但真正设计架构时才发现,<textarea> 提交表单是全系统最简单的部分。核心难题全在数据落库之后:动态权限、数据最小化以及无身份通信。
总结了我们在实际工程中遇到的几个核心冲突,想和大家探讨一下:
1. 利益冲突 vs 静态 RBAC:当 Admin 成为被举报人
传统的 RBAC 模型通常是:Admin 拥有查看所有数据的权限。
但在举报场景中,如果员工举报了自己的直属领导,而这位领导正好拥有系统 Admin 权限,直接套用 RBAC 就会立即失效——被举报人能直接在后台看到针对自己的举报。
此时权限不能仅依赖 Role ,必须引入上下文/内容感知( Content-Aware Authorization ):
can_access = has_permission && !is_involved_in_report(current_user, report_id)
伪代码很...
Read the full discussion on V2EX
This article was aggregated from V2EX. Click to join the conversation.
View on V2EX