小技巧-ERP 权限控制
繁中求简, 闲聊一下 SAP 复杂权限设计的基本思想。
特别是适合大集团业务的 ERP 系统,应该提供一个非常完善的权限控制机制,甚至允许将权
限控制字段细到字段级别,如果权限控制都做不到这点,估计产品销售就够呛!
多年以前,俺还在软件幼稚园时,老师布置的权限作业,权限大概是设计的:
Select 用户名 From 用户表 where 用户名='butcher' (得到用户名)
select 权限组 ID From 权限表 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:分析 authoraztion data buffers.
常用权限相关表格:
TOBJ : All avaiable authorzation objects.(ERP 系统默认的所有授权对象)
USR12: 用户级 authoraztion 值
USR02:User Logon Data(包括用户名称密码,是否锁住等字段)
USR03:User address data
USR05:User Master Parameter ID(Tcode SU3 可查看用户参数文件的参数 ID 默认值)
USR41:当前用户(即 Tcode SM04 看到的所有当前活动用户,包括各种对话系统通信类用户)
USRBF2:记录当前用户所有的授权 objects
UST04:User Profile master(用户主数据中对应的权限参数文件名)