起心动念
前天凌晨一点半,公司核心系统又崩了。我叼着牙刷翻监控,发现又是权限系统被人捅穿了。气得我直接拍桌子:这破权限系统今年改了八遍了,咋还跟纸糊的一样?赶紧在笔记本上划拉出几个字:搞明白守门人为啥这么难。
开始动手查
我先翻出半年前的产品需求文档。第一版写得清清楚楚:“员工只能查看本部门数据”。结果过两周产品经理跑过来塞新需求:“大老板说跨部门协作要能看到数据”。我硬着头皮给权限表加了个“协作部门”字段。
刚改完没消停两天,财务部老大拍着桌子冲进技术部:“我们部门薪资数据凭啥让销售部看见?”得,连夜打补丁加了数据敏感度分级。测试的时候更绝,销售总监用自己账号一查,好家伙连CEO工资都蹦出来了——权限树递归查询写串了。
跟业务干架
上周三最窝火。市场部新来的小姑娘抱着电脑蹲我工位:“哥,帮忙开下竞品分析库权限呗?”我指着审批流程让她走系统,人家直接甩出截屏:“你们总监昨天群里都同意了!”打电话一问,总监打着哈哈说:“先给她开嘛流程后补!”结果第二天审计部就揪出几十条越权访问记录——这特么让我背锅?
系统变蛛网
昨天撸起袖子想重构权限系统。打开数据库一看差点晕过去:员工权限表有七个关联表,字段名都是祖传的。有用英文缩写的,有拼音首字母的,还有个字段叫“能不能看”。测试环境跑流程时更魔幻,新来的实习生用客服账号居然批掉了百万采购单——角色继承体系早八百年就乱套了。
总结出四大坑
折腾到凌晨三点终于看明白了:
- 老板们拍脑袋:上午说要开放协作,下午就要隔离数据
- 业务方耍流氓:今天哭爹喊娘要权限,明天甩锅说你乱开
- 开发挖深坑:新功能直接硬塞字段,祖传代码没人敢动
- 系统变毛线团:权限规则叠床架屋,牵根线头全屋塌
摔键盘
今天产品总监又拿着新需求找我:“这回很简单,就加个按城市分权限的功能...”没等他说完我直接把键盘推过去:“您行您来!再改下去要么系统炸要么我先炸!”现在这破权限系统,产品说改就改,业务随用随要,代码跟意大利面似的绕成团,规则比迷宫还复杂——守门人这活儿谁爱干谁干!反正我电脑里辞职报告都写三版了。