介绍小技巧-ERP权限控制繁中求简,闲聊一下SAP复杂权限设计的基本思想
特别是适合大集团业务的ERP系统,应该提供一个非常完善的权限控制机制,甚至允许将权限控制字段细到字段级别,如果权限控制都做不到这点,估计产品销售就够呛
多年以前,俺还在软件幼稚园时,老师布置的权限作业,权限大概是设计的:Select用户名From用户表where用户名='butcher'(得到用户名)select权限组IDFrom权限表where用户名='butcher'(得到用户对应的权限组ID)select*From权限控制列表where权限组ID=‘*****’(得到没个权限组ID对应的明细权限列表也就是用户的明细权限)这种简单的权限设置是无法满足复杂的业务需求的,多年以后,居然国内还有很多软件公司在权限设计上还在玩这套小把戏
现在来看看“伟大的”SAP的权限设计思路,首先了解下几个Tcode和权限相关表格
常用权限相关Tcode
(一)Role(角色)相关T-code:PFCG创建ROLE_CMP角色比较SUPC批量建立角色profile(二)建立用户SU01建立用户SU01D显示用户SU2|SU3|SU50|SU51|SU52改变/显示用户个人参数SU10|SU12批量维护用户SUCOMP维护用户公司地址SUIM用户信息系统(强调一下)(三)建立用户组SUGR|SUGRD_NAV维护用户组SUGRD|SUGR_NAV显示用户组(四)维护检查授权SU20|SU21自定义授权字段和授权对象SU53当出现权限问题可使用它检测未授权对象
SU56:分析authoraztiondatabuffers
常用权限相关表格:TOBJ:Allavaiableauthorzationobjects
(ERP系统默认的所有授权对象)USR12:用户级authoraztion