权限控制

阅读(331) 标签: vsb, 可见性,

多表关联查询时也可通过可见性文件实现权限控制,和查询控件一起部署在web服务器上,对于不同的用户可以配置不同的可见文件,使他们在登录web后拥有不同的访问权限。如表A的某些字段与表B的主键关联,当表B不可见时,查询控件中表A指向表B的广义外键引用字段也会不可见。

示例:

客户系统中有回款单和雇员表,root用户可以查询回款单和雇员指标,guest用户仅可查询回款单指标。那么可以通过使用变量传递不同的Tag属性值达到权限控制的目的。

java代码判断,如果当前用户是root则通过Tag属性传递如下值:

String visibility= request.getParameter( " visibility" );

visibility = "root.vsb";//root.vsb:对元数据中的所有表都可见

 

如果当前用户是guest则通过Tag属性传递如下值:

String visibility = request.getParameter( " visibility" );

visibility= "guest.vsb";//guest.vsb:仅对元数据中的回款单表可见

 

  <raqsoft:detailQuery

  qyx="<%=qyx %>"

  dataSource="<%=dataSource %>"

  dictionary="<%=dct%>"

  visibility="<%=vsb%>"

  />

 

root用户的查询页面demo如下图:

 

guest用户的查询页面demo如下图: