权限概览
如有轉載請注明出處:
http://blog.csdn.net/donkey2004112103/archive/2009/05/06/4156065.aspx今天終于了解了sap如何從技術的角度去實現權限控制,我覺得權限控制是這樣實現的,首先想想為什么不同的用戶可以有不同的權限了?因為有角色的概念,不同的用戶分配了不同的的權限,所以有不同的權限。而角色由參數文件(profile )組成,參數文件里添加了授權對象(authority object),授權對象又由授權字段(authorization field)構成。這就從上到下的組成了權限控制的全部。如圖:
這些東西配置好之后,我們便可以在程序中通過代碼判斷用戶是否有該權限去執行某項操作了。那從代碼開始一步一步講解吧。
代碼:
AUTHORITY-CHECK OBJECT 'ZEMPOBJ04'
???????????????????????????????? ID 'ACTVT' FIELD test.
????? IF SY-SUBRC = 0.
????????? WRITE:/ 'PASS'.
????? ELSE.
???????? WRITE:/ 'Sorry.'.
???? ENDIF.
上面這段代碼便完成了一次權限檢查,ZEMPOBJ04是權限對象,ACTVT是權限字段,test是我們要檢測的字段,有可能是公司代碼或者查看的權限等,然后通過sy-subrc字段取判斷,如果為0則有這個權限。
權限字段:
可以通過SU20來創建權限字段,如下:
字段名和數據元素為必輸,名字隨便可以輸入,數據元素可以自建,也可以參照創建。table name字段就是創建完成之后的check table,我們在創建權限對象添加字段的時候,如果這個權限字段有check table那么就會有一些值可供選擇,如ACTVT:
如果沒有輸入table的話這個時候便沒有,只能在profile里自己維護字段值了。
權限對象:
SU21進入權限對象的界面,可以先建立一個object class,它相當于一個目錄包含了若干個權限對象,這樣方便維護。我們創建好權限對象之后便可以添加剛才自己創建的字段了,或者系統標準的權限字段。然后選擇這個權限對象有哪些值可以使用。
參數文件:
pfcg進入角色維護后可以先創建一個新的角色或者維護已經存在的角色,進入權限tab,選擇更改授權數據。如圖:
然后便可以添加若干權限對象,系統標準的或者自己創建的。在權限對象里就可以維護這個profile到底有哪些權限可以使用。
如圖就是一個例子,注意做完操作后要點擊生成,就是那個小圓圈的按鈕。
角色:
最后我們只要把這個角色添加給用戶,用戶變擁有這個權限了。最后點擊下”用戶比較”按鈕。
總結
- 上一篇: 没有PARAMETER ID,想 cal
- 下一篇: SAP用户权限控制大解析及权限进阶分析