1.53给用户/组/角色同时设置多个资源/操作的权限(覆盖资源原有的权限)

<< Click to Display Table of Contents >>

当前位置:  部署与集成 > WebAPI 

1.53给用户/组/角色同时设置多个资源/操作的权限(覆盖资源原有的权限)

复制链接

支持的版本:9.1及以后

请求地址

http://ip:port/bi/api?action=setAuthorization&token=xxxx

请求消息

请求参数

请求参数:xmlData(必填)

<?xml version="1.0" encoding="UTF-8"?>

<info>  

<authorization>        

 <identity>                

  <ref>                        

 <type>user</type>                        

 <name>user1</name>                

</ref>

  <ref>                        

   <type>group</type>                        

 <name>管理组-1</name>                

 <parent>管理组</parent>                

</ref>

<ref>                        

 <type>role</type>                        

 <name>test_role</name>                

</ref>        

 </identity>                

 <rperm>                

<ref>                        

 <type>NAVI_ACTIONS/ACT/Query</type>                

<path>NAVI_ACTIONS/ACT</path>

</ref>                

<ref>                        

 <type>db</type>                        

 <path>test</path>                

</ref>                        

 </rperm>        

 <wperm>                

<ref>                        

 <type>db</type>                        

 <path>test</path>                

</ref>                                                        

 </wperm>  

<aperm>

           <ref>

          <type>NAVI_ACTIONS/ACT/Query</type>                

          <path>NAVI_ACTIONS/ACT</path>

           </ref>

</aperm>  

<dbAction>

<ref>                        

 <action> exportcsv,subscribe </action>                        

 <path>test</path>                

</ref>  

<ref>                        

 <action> exportcsv </action>                        

 <path>test2/test3</path>                

</ref>        

</dbAction>

  <csperm>

   <ref>

    <type>jobFolder</type>

    <path>jobdir</path>

   </ref>

  </csperm>

    <ejperm>

     <ref>

       <type>job</type>

       <path>job1</path>

     </ref>      

  </ejperm>                    

</authorization>

</info>

参数描述

identity-ref-type(必填):需要设置的节点类型,包括三种:user,group,role。

identity-ref-name(必填):需要设置的节点名称。

identity-ref-parent(选填):设置的节点类型为group时的路径。

rperm(选填):读权限。

rperm-ref-type(设置读权限时必填):需要设置节点的类型,包括资源类型和操作类型(见附录)。

rperm-ref-path(设置读权限时必填):需要设置节点的路径。选择资源类型时,该项必填;选择操作类型时,该项不用填写。

wperm(选填):写权限。

wperm-ref-type(设置写权限时必填):需要设置节点的类型,包括资源类型和操作类型(见附录)。

wperm-ref-path:需要设置节点的路径。选择资源类型时,该项必填;选择操作类型时,该项不用填写。

aperm(选填):授权权限。

aperm-ref-type(设置授权权限时必填):需要设置节点的类型,包括资源类型和操作类型(见附录)。

aperm-ref-path:需要设置节点的路径。选择资源类型时,该项必填;选择操作类型时,该项不用填写。

dbAction(选填)报告操作权限。

dbAction-ref-path(设置报告操作权限必填):需要设置的报告的路径。

dbAction-ref-action:赋予同ref中path下报告的操作权限,email-邮件、shareToUser-分享、exportpng-导出png、subscribe-订阅、exportcsv-导出csv、exportexcel-导出excel、exportpdf-导出pdf、exportword-导出word、print-打印、download-下载、all-以上全部操作、为空-禁用全部操作,输入多个操作(不包含all)时不同的操作间中间采用英文逗号“,”分隔。

csperm(设置创建权限时必填):创建权限,只有调度任务/作业/触发器有效。

ejperm(设置执行权限时必填):执行权限,只有调度任务有效,只能设置一个用户。

说明:

identity-ref可以有多个,但至少有一个。

rperm、wperm、dbAction至少选填一项。

此方法会按资源/操作覆盖之前的权限设置,按用户-报告覆盖报告操作权限设置。

示例

function setAuthorization() {

       var xml = getXml();

       $.post("http://" + ip + ":" + port + "/" + project + "/api?action=setAuthorization&token=xxxx",

          {xmlData : xml},

          function(result) {        

             writeXml(result);

          });

    }

响应消息

响应结果

操作成功

<?xml version="1.0" encoding="UTF-8"?>

<results>

 <result>

        <level>1</level>

        <message>操作成功。</message>

 </result>

</results>

示例:

如果原有权限状况为:

用户A——报告a读权限,报告b读权限

用户B——报告a读权限,报告d读权限

在接口中设置用户为A,资源为报告a(读权限),报告c(读权限),操作成功后:

用户A——报告a读权限,报告b读权限,报告c读权限

用户B——报告d读权限

(将会覆盖设置报告a和c的读权限,其他的资源权限不受影响)

操作失败

<?xml version="1.0" encoding="UTF-8"?>

<results>

<result>

 <level>6</level>

 <message>安全设置中包含不存在的用户、组或角色:user1</message>

</result>

</results>

或者

<?xml version="1.0" encoding="UTF-8"?>

<results>

<result>

 <level>6</level>

 <message>资源或操作“test”找不到。</message>

</result>

</results>

结果描述

响应结果信息为xml,直接parse即可。

level 返回类型,不同数值代表不同返回状态,见附录

message为接口操作结果信息。