2、heck-permissionpermission="person"action="_update">使用check-permission前提條件是當(dāng)前service環(huán)境中必須
3、存在用戶的登陸信息,即能獲取到userLogin。service的調(diào)用場(chǎng)景有很多,controller.xml中,screen中,simplemethod中,bsh文件中,ftl文件中,java文件中,groovy文件中等,其中前三項(xiàng)系統(tǒng)會(huì)自動(dòng)將userLogin,locale等信息自動(dòng)封裝到servicecontext中去,所以不需要我們手段傳值,所以我們?cè)谄渌h(huán)境中調(diào)用service的時(shí)候就需要對(duì)需要的隱性參數(shù)進(jìn)行傳值,比如fail-property中會(huì)用到locale,check-permission會(huì)用到userLogin等。其中ch
4、eck-permission判斷是否具有”${permission的值}_ADMIN”權(quán)限,如果action的值不為null,則會(huì)首先判斷當(dāng)前用戶是否具有”${permission的值}_ADMIN”權(quán)限,如果有則權(quán)限判定符合要求,否則判斷是否具有”${permission的值}_${action的值}”,如果check-permission判斷權(quán)限要求都不滿足的話,會(huì)進(jìn)行alt-permission權(quán)限判斷,判斷規(guī)則和check-permission一樣,check-permission和alt-permission兩者的關(guān)系是or的關(guān)系,
5、即只要兩者有一個(gè)滿足權(quán)限要求即可。如果兩者條件都不滿足的話那么將會(huì)把fail-property寫進(jìn)錯(cuò)誤信息中,fail-property錯(cuò)誤信息來源于”${resource的值}.xml”中key值為”${property的值}”所對(duì)應(yīng)的value值。系統(tǒng)會(huì)自動(dòng)根據(jù)客戶端瀏覽器的locale從文件中獲取對(duì)象的提示信息。翻譯成javaservice應(yīng)該是這樣的.?Securitysecurity=dctx.getSecurity();?if(!(security.hasPermission("person_ADMIN",userLogin)?
6、
7、
8、?security.hasPermission("person_update",userLogin)?
9、
10、?security.hasPermission("party_ADMIN",userLogin)?
11、
12、?security.hasPermission("party_view",userLogin))?){ReturnServiceUtil.returnError(?UtilProperties.getMessage("WebtoolsUiLabels","doNotHavePermission",locale));?}?1.4if-ha
13、s-permission:??????14、to-field?resource="CommonUiLabels"property="CommonGenericPermissionError"field="fa