博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[AX]AX2012 Table的AOSAuthorization 属性
阅读量:7013 次
发布时间:2019-06-28

本文共 1425 字,大约阅读时间需要 4 分钟。

Table的AOSAuthorization有以下几个枚举值可选择:

  • None
  • CreateDelete
  • UpdateDelete
  • CreateUpdateDelete
  • CreateReadUpdateDelete

假设一个表的AOSAuthorization 属性被设置为CreateDelete,AOS值在确认用户有合适的权限时才执行Create和Delete操作,但是不会检查Update和Read操作。这个属性默认设置为None。在AOS通过执行表的以下方法检查操作:

  • aosValidateDelete
  • aosValidateInsert
  • aosValidateRead
  • aosValidateUpdate

可以在表上重载这些方法,AOS对每条纪录执行这些方法,所以会影响运行性能。虽然MSDN讲在AOSAuthorization设为None不做检查,但是测试发现即使把AOSAuthorization设为None,这些方法也会被调用,可以调用xRecord.skipAOSValidation(true)来忽略检查,一个表只需要调用一次,所以能在一定程度上减轻对性能的影响:

server static void JobPermAssertSkip(Args _args){    AssetTable tabAt;    SkipAOSValidationPermission perm;    ;    ttsbegin;    perm = new SkipAOSValidationPermission();    perm.assert();    tabAt.skipAosValidation(true);    update_recordset tabAt        setting MaintenanceInfo3 = "Useful information."        where tabAt.AssetId == "goodvalue";    ttscommit;}

上面的Job虽然被放在server上运行,但是在我的测试中直接运行仍然会得到“Request for the permission of type 'SkipAOSValidationPermission' failed.”的错误,放在Class的server static方法中却是能成功运行的,MSDN的说明是SKipAOSValidationPermission.assert()需要在同一个tier一般在server tier运行,不是太明白这个解释,总之放在Class的server static方法里就没有问题了,也就是只能在server tier调用skipAOSValidation()。在调用了skipAOSValidation(true)后,表的aosValidateXXX方法就不再被调用了。

视图也有AOSAuthorization属性,它的检查只涉及到视图,和其下的Table的设置没有关系。另外如果从secured server method或者service operation操作表,表的AOSAuthorization属性被忽略,权限检查始终被执行。

详见。

 

 

转载于:https://www.cnblogs.com/duanshuiliu/archive/2012/08/29/2661930.html

你可能感兴趣的文章
恢复AD账号之后……
查看>>
haproxy实现反向代理和负载均衡
查看>>
Oracle学习之DATAGUARD(二) DG架构--应用服务
查看>>
JS省市县三级联动
查看>>
规划和安装邮件系统
查看>>
个体工商户注册流程
查看>>
浅析CSS——元素重叠及position定位的z-index顺序
查看>>
sed的常用命令总结(一)
查看>>
Unity3D 插件分享
查看>>
PHP编译错误:configure: error: xml2-config not found. Please check your libxml2 installation.
查看>>
Oracle 中的join
查看>>
我的友情链接
查看>>
MySQL索引原理及查询优化
查看>>
Linux操作系统之奥秘(第2版)
查看>>
我的友情链接
查看>>
Netty内存池之PoolArena详解
查看>>
Sepia Tone Effect(老照片特效)
查看>>
国土档案管理信息系统【档案著录】-地籍类档案著录
查看>>
Maven聚合模块与继承和Maven的生命周期
查看>>
通过Jenkins部署java项目
查看>>