- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ofbiz minilang 总结
验证
1.1 Login-required: 这是一个simple-method的属性,对是否需要登陆进行设置,默认值为true ,即默认需要先登陆。(加上service 定义中的auth 定义,如果你不希望一个simple service 必须登陆才能调用的话,那么首先得将service 定义中的auth设为false ,再将此处的login-required 设为false)。
use-transaction: 设置此simple method 是否使用事务。根据业务需求来判断具体设置。
check-permission:
check-permission permission=person action=_update
alt-permission permission=person action=_view/
fail-property resource=WebtoolsUiLabels property=doNotHavePermission/fail-property
/check-permission
check-errors/check-errors
使用check-permission前提条件是当前service 环境中必须存在用户的登陆信息,即能获取到userLogin。service 的调用场景有很多,controller.xml中,screen中,simple method 中,bsh文件中,ftl 文件中,java 文件中,groovy文件中等,其中前三项系统会自动将userLogin,locale 等信息自动封装到service context 中去,所以不需要我们手段传值,所以我们在其他环境中调用service的时候就需要对需要的隐性参数进行传值,比如fail-property中会用到locale, check-permission会用到userLogin 等。
其中check-permission判断是否具有”${permission的值}_ADMIN” 权限,如果action的值不为null,则会首先判断当前用户是否具有”${permission的值}_ADMIN”权限,如果有则权限判定符合要求,否则判断是否具有”${permission的值}_${action的值}”,如果check-permission判断权限要求都不满足的话,会进行alt-permission 权限判断,判断规则和check-permission一样, check-permission 和 alt-permission 两者的关系是or的关系,即只要两者有一个满足权限要求即可。如果两者条件都不满足的话那么将会把fail-property 写进错误信息中,fail-property错误信息来源于”${ resource的值}.xml”中key值为”${property的值}”所对应的value 值。系统会自动根据客户端浏览器的locale从文件中获取对象的提示信息。
翻译成java service 应该是这样的.?Security security = dctx.getSecurity();?if (!(security.hasPermission (person_ADMIN, userLogin)?||? security.hasPermission (person_update, userLogin)?||? security.hasPermission (party_ADMIN, userLogin)?||? security.hasPermission (party_view , userLogin))?) {Return ServiceUtil.returnError(?UtilProperties.getMessage(WebtoolsUiLabels,doNotHavePermission,locale));?}?
if-has-permission:
if-has-permission permission=person_view ?set field=hasPermission type=Boolean value=true/?field-to-result field=hasPermission/?log level=info message=you have ACCTG_FX_ENTRY!/?else?set field=hasPermission type=Boolean value=false/?property-to-field?resource=CommonUiLabels property=CommonGeneric
文档评论(0)