数据权限用法说明 框架说明

lake 2018-6-5 1269

Raycom框架对数据权限的支持是独立的管理体系,采用岗位关联数据资源的机制,管理要素为数据资源,数据权限,数据权限分配。


实际使用分为两个层次,分别是数据资源以及岗位维护,以及程序代码调用。

1:数据资源、岗位维护

   a)数据资源维护

       在数据资源管理页面,首先维护维护数据资源名称,主要是:

          资源编码、资源名称、资源类型、管控策略

       *其中资源编码是程序调用的基础,做唯一性判定(非唯一性可以填写,但需要提示冲突)

       维护资源明细,以name和value两个维护维护资源明细。

   b)分岗位维护其关联的数据资源

2:程序调用

   程序调用有2个位置,jsp页面的下拉框以及后台sql。分述如下:

   a)jsp部分

       a-1:下拉框使用平台的select标签,其中使用dataRoleKey标签引用资源编码。示例:   

         <rt:select2 id="userType" dataQuery="yes" headerKey="-1" className=" w140 radius size-S" 
             headerValue="全部" dataRoleKey="userRoleType"></rt:select2>

        *注意如果使用数据资源权限时,不要使用comcode标签。dataRoleKey与comcode存在冲突

      a-2: 如果不使用dataRoleKey标签,也可以通过后台传入,则相关代码如下:

        后台:

            model.addAttribute("userRoleType", UserUtils.getResource("userRoleType"));

        页面:

           <rt:select2 id="roleId" dataQuery="yes" headerKey="-1" className="w140 radius size-S" 
               headerValue="全部" items="${userRoleType}" itemValue="value" itemLabel="name"></rt:select2>

    b)java后台添加针对数据资源的控制

       controller中

         UserUtils.setResourceCodeAuthority(page.param, "userRoleType");

       setResourceCodeAuthority说明:

          1:第一个参数是存放sql查询的rdata

          2:第二个参数是数据资源的资源编码,如果关联多个资源,依次写入即可,例如

          UserUtils.setResourceCodeAuthority(page.param, "userRoleType", "userRoleType1", "userRoleType2");

       xml中

         AND cu.user_type in (#{param.userRoleType})

        说明:直接按照常规使用,对相关的字段直接使用in方式加调用,其中里面引用的字段直接使用资源编码,如果不是分页查询,则直接使用 

AND cu.user_type in (#{userRoleType})


最后于 2019-1-10 被lake编辑 ,原因:
最新回复 (0)
全部楼主
返回