举例如何控制查询权限

14-10-27 liangshan
    

anycmd是树,可以捕获和冒泡,输入流程是捕获,输出流程是冒泡。

不仅要防止外部主体输入我们的系统中的命令的执行导致我们的系统运动到错误的状态,还要保证我们的系统的输出信息不能运动到非法的主体中去。

以对资源记录的读取权限为例:我们知道anycmd可以把权限控制到实体级,并且可以深入到实体这个“原子”的空荡荡的内部中去使用与其他层次毫无差别的一样的逻辑去控制实体内部的权限。比如我们的应用系统中有一个命名为GetPlistUsers(pageIndex,pageSize......)的这么一种运动,它返回的是一个实体记录列表,anycmd可以在输出流程的冒泡过程中有机会去除当前主体无权GetPlistUsers到的实体记录,或者将无权得到的记录替换为对应的空对象。

上面举例的是在冒泡流程中施加控制,也是可以在捕获流程中施加控制的,两者结合才是更好的。