ABAP中AUTHORITY-CHECK
的实际和逻辑用法是我想知道的
答案 0 :(得分:4)
高层:
AUTHORITY-CHECK
)。每个授权可能有一个或多个与之关联的活动(显示,创建,批准等 - 这些是在授权对象创建期间指定的) 例如,授权"在公司代码1000"中显示采购订单。应用程序开发人员将使用AUTHORITY-CHECK
对其程序进行检查,该检查根据相应的授权对象检查授权,并将公司代码作为参数提供。当用户运行该代码时,执行授权检查并检查针对该用户的主记录(通过分配的角色)存储的授权。如果用户没有授权,则将执行为授权失败的情况构建的任何逻辑。
ABAP documentation中描述了AUTHORITY-CHECK
语句。
答案 1 :(得分:3)
选中以创建ROLES并为该角色分配授权和TCODES,以便只有该用户才能访问这些T代码。 使用SUIM和SU21 T代码。
如果您希望保护自己编程的交易,则必须执行授权检查。
这意味着您必须在事务定义中分配授权对象。
例如:
编写AUTHORITY-CHECK。
AUTHORITY-CHECK OBJECT <authorization object>
ID <authority field 1> FIELD <field value 1>.
ID <authority field 2> FIELD <field value 2>.
...
ID <authority-field n> FIELD <field value n>.
OBJECT参数指定授权对象。
ID参数指定授权字段(在授权对象中)。
FIELD参数指定授权字段的值。
授权对象及其字段必须适合该事务。在大多数情况下,您将能够使用现有的授权对象来保护您的数据。但是新的开发可能需要您定义新的授权对象和字段。
http://help.sap.com/saphelp_nw04s/helpdata/en/52/67167f439b11d1896f0000e8322d00/content.htm
为确保用户在执行操作时拥有相应的授权,用户需要接受授权检查。