通常basis会使用PFCG做权限管理,你保存时会产生一个系统外的profile name,而且,SU01时用户有profile 和role两栏位。

  这些个profile name ,profile,role它们的关系如何呢?profile 这个英语词义是很丰富的,在中文中难找对应的表示同等语义的词语。

  基本概念

   activity

  activity,活动,类如insert, update,display等等,

  这些activity由当年德国开发者设计在tobj表中。

  activity 也是可分activity group。如果上升到方法论,我们不难发现,分类始终是人类认识和管理事物的卓越思想和强大手段。

   activity category &Authorization group

  Role Vs Profile

  我们可以看看表T020,那里分出好多K,D, A, M什么的,学习比较一下就清楚了.

  profile是什么呢?实际上可以理解为所有的authorization data(有很多authorization group--你可使用OBA7填写,

  权限太细并非好事,和activity组成)的一个集合的名字,通常一个自定义的role产

  生一个profile,SAP权限控制是根据profile里的authorization data(objects)来控制的.

  role又是什么呢?role只是一个名字而已,然后将profile赋予给它, 比如你SU01建立一个

  用户,我没有任何role,但是加如SAP_All profile

  也是可做任何事情.

  SAP本身有很多default role & profile.

   最常用的PFCG->authorizations->change authorization data->

  进入后选取selection criteria 可看到所有的authorization object

  manually可手工加authorization object,比如你使用某个t-code权限出错误,abap使用SU53检查就

  知道缺少哪个authorization objec,然后手工加入就可以.

  你选去authorization levels就可by account type再细分权限.

  有些甚至直接到表字段.而且你甚至可給一个object分配缓存buffer.

  实现机制

  SAP是如何做到权限控制?下面是一些研究结论。

  关于权限方面的几个t-code.

  Role(角色)相关T-code:

  PFAC 标准

  PFAC_CHG 改变

  PFAC_DEL 删除

  PFAC_DIS 显示

  PFAC_INS 新建

  PFAC_STR

  PFCG 创建

  ROLE_CMP 比较

  SUPC 批量建立角色profile

  SWUJ 测试

  SU03 检测authorzation data

  SU25, SU26 检查updated profile

  建立用户相关T-code:

  SU0

  SU01

  SU01D

  SU01_NAV

  SU05

  SU50, Su51, SU52

  SU1

  SU10 批量

  SU12 批量

  SUCOMP:维护用户公司地址

  SU2 change用户参数

  SUIM 用户信息系统

  用户组

  SUGR:维护

  SUGRD:显示

  SUGRD_NAV:还是维护

  SUGR_NAV:还是显示

  关于profile&Authoraztion Data

  SU02:直接创建profile不用role

  SU20:细分Authorization Fields

  SU21(SU03):****维护Authorization Objects(TOBJ,USR12).

  对于凭证你可细分到:

  F_BKPF_BED: Accounting Document: Account Authorization for Customers

  F_BKPF_BEK: Accounting Document: Account Authorization for Vendors

  F_BKPF_BES: Accounting Document: Account Authorization for G/L Accounts

  F_BKPF_BLA: Accounting Document: Authorization for Document Types

  F_BKPF_BUK: Accounting Document: Authorization for Company Codes

  F_BKPF_BUP: Accounting Document: Authorization for Posting Periods

  F_BKPF_GSB: Accounting Document: Authorization for Business Areas

  F_BKPF_KOA: Accounting Document: Authorization for Account Types

  F_BKPF_VW : Accounting Document: Change Default Values for Doc.Type/PsKy

  然后你进去还可细分,这些个东西是save在USR12表中的. 在DB层是UTAB.

  对具体transaction code细分:

  SU22,SU24

  SU53:*** 就是你出错用来检查没有那些authoraztion objects.

  SU56:分析authoraztion data buffers.

  SU87:用来检查用户改变产生的history

  SU96,SU97,SU98,SU99:干啥的?

  SUPC:批量产生role

  DB和logical层:

  SUKRI:Transaction Combinations Critical for Security

  tables:

  TOBJ : All avaiable authorzation objects.(全在此)

  USR12: 用户级authoraztion值

  -----------------------------

  USR01:主数据

  USR02:密码在此

  USR04:授权在此

  USR03:User address data

  USR05:User Master Parameter ID

  USR06:Additional Data per User

  USR07:Object/values of last authorization check that failed

  USR08:Table for user menu entries

  USR09:Entries for user menus (work areas)

  USR10:User master authorization profiles

  USR11:User Master Texts for Profiles (USR10)

  USR12:User master authorization values

  USR13:Short Texts for Authorizations

  USR14:Surchargeable Language Versions per User

  USR15:External User Name

  USR16:Values for Variables for User Authorizations

  USR20:Date of last user master reorganization

  USR21:Assign user name address key

  USR22:Logon data without kernel access

  USR30:Additional Information for User Menu

  USR40:Table for illegal passwords

  USR41:当前用户

  USREFUS:

  USRBF2

  USRBF3

  UST04:User Profile在此

  UST10C: Composite profiles

  UST10S: Single profiles (角色对应的

  UST12 : Authorizations..............................

  权限进阶

  用户:

  User type用户类型(干啥用的不讲):

  通常的用户类型有

  a.dialog (就是normal user)

  b.communication

  c.system

  d.service

  e.reference.

  通常你在使用任何T-code前一定会有权限检测的.

  AUTHORITY_CHECK:这个函数只是小检查一下你的user有没有,什么时候过期.

  **如果coding只要使用此函数就够了.

  AUTHORITY_CHECK_TCODE:检查T-code

  这倆函数是真正检查autorization objects的.

  SUSR_USER_AUTH_FOR_OBJ_GET:

  AUTHORIZATION_DATA_READ_SELOBJ:

SAP用户权限控制大解析及权限进阶分析相关推荐

  1. 松耦合式的权限控制设计,自定义权限表达式

    点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | ...

  2. RBAC、控制权限设计、权限表设计 基于角色权限控制和基于资源权限控制的区别优劣

    RBAC.控制权限设计.权限表设计 基于角色权限控制和基于资源权限控制的区别优劣 一.介绍 二.基于角色的权限设计 三.基于资源的权限设计 四.主体.资源.权限关系图 主体.资源.权限相关的数据模型 ...

  3. 若依RuoYi框架数据库权限控制表解析

    若依框架在权限控制方面使用了一些数据库表来存储相关的信息. 若依框架有前后端分离版本和微服务版本,微服务版本也采用前后端分离的架构,但与传统的前后端分离版本不同,微服务版本在后端进一步拆分为多个小型的 ...

  4. SaaS权限控制:设计思路和表分析

    权限设计 针对这样的需求,在有些设计中可以将菜单,按钮,后端API请求等作为资源,这样就构成了基于RBAC的另一种授权模型(用户-角色-权限-资源).在SAAS-HRM系统的权限设计中我们就是才用了此 ...

  5. java 位运算 权限控制_java 位运算权限管控(转载)

    这里笔者介绍一种很常用,也比较专业的权限控制思路.这里用java语言描述,其实都差不多的.要换成其他的语言主,自己转一下就可以了.为了方便起见,我们这里定义a^b为:a的b次方.这里,我们为每一个操作 ...

  6. 美年_移动端开发_权限控制_Spring Security入门与进阶

    文章目录 第三章权限控制 3.1. 认证和授权概念 3.2. 权限模块数据模型 3.3 RBAC权限模型扩展: [小结] 3.3. Spring Security简介 [讲解] [小结] 3.4. S ...

  7. SpringSecurity 权限控制之开启动态权限注解支持

    开启授权的注解支持 这里给大家演示三类注解,但实际开发中,用一类即可! <!-- 开启权限控制注解支持 jsr250-annotations="enabled" 表示支持js ...

  8. SAS中国用户大会:大数据的价值在于分析

    人类正在从数字社会走向智能社会时代.智能手机,智能家电,智能工业产品中嵌入的传感芯片无处不在,我们的生活已经被数据包围.然而,光有数字和数据还是不够这仅仅是"记忆",并没有&quo ...

  9. Java Protected关键字权限控制实例解析

    关于Java Protected的大部分用法及注意事项在https://blog.csdn.net/justloveyou_/article/details/61672133这篇博文中讲的很清楚,但是 ...

最新文章

  1. HTML 5中SEO可以用那些代码来做优化
  2. Java中的数据结构
  3. TCP/IP总结(1)分层
  4. Spring 依赖注入(DI)
  5. stringcstdlibctimecstdargctimectypecmathclimits
  6. 为什么python是解释型面向对象的语言_python为什么是面向对象的
  7. Android Studio无线连接设备调试,比数据线更方便
  8. PyCharm安装Twisted库(报错:Microsoft Visual C++ 14.0 is required. Get it with “Build Tools for Visual Stu)
  9. 开工第一天,这个超时问题把我干趴下了
  10. 五菱汽车:并不知悉导致股价及成交量上升的任何原因
  11. 关于NSArray使用时用strong修饰还是copy修饰问题测试
  12. html页脚显示不出来,CSS实例:让页脚保持在未满屏页面的底部
  13. OpenCL编程实例: 向量计算
  14. Delphi版 熊猫烧香源码
  15. 基于Python+MySQL的图书销售管理系统 课程论文+项目源码及数据库文件
  16. ZOJ 3551 Bloodsucker 题解
  17. 安卓开发 之小白养成-Android环境搭建 二
  18. 一文打通ER图(手把手教你画)
  19. Android项目架构图
  20. mysql 时间戳转换为时间_将MYSQL数据库里的时间戳转换成时间

热门文章

  1. i-i.me:网址导航真的是伪需求吗?
  2. 论文笔记系列-Efficient Neural Architecture Search via Parameter Sharing
  3. Zookeeper和 Google Chubby对比分析
  4. Java中getMessage()和printStackTrace方法
  5. CentOS 6.3安装(详细图解教程)
  6. 设计,成本与开发细节的讨论
  7. 您为了什么而学?【一入红尘深似海 勿负天下有心人】
  8. oracle 数据库备份恢复
  9. 抓个Firefox的小辫子,围观群众有:Chrome、Edge、IE8-11
  10. 关于intellij的配置安装