1.16按资源设置权限(覆盖)

<< Click to Display Table of Contents >>

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

1.16按资源设置权限(覆盖)

复制链接

请求地址

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

请求消息

请求参数

请求参数:xmlData(必填)

给资源设置权限:

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

<info>

 <perm>

<refs>

    <ref><type>dbfolder</type><path>test</path><isInherit>true</isInherit ></ref>

    <ref><type>db</type><path>新建文件夹/图表2</path></ref>

</refs>

    <rperm>

       <r><type>user</type><name>u1</name></r>

       <r><type>group</type><name>g11</name><parent></parent></r>

       <r><type>role</type><name>role1</name><action>email</action></r>

    </rperm>

    <wperm>

       <w><type>user</type><name>u1</name></w>

    </wperm>

<aperm>

       <a><type>user</type><name>u1</name></a>

    </aperm>

<csperm>

    <cs>

      <type>user</type>

      <name>u1</name>

    </cs>

</csperm>

<ejperm>

    <ej>

      <type>user</type>

      <name>u1</name>

    </ej>

</ejperm>

 </perm>

</info>

给操作设置权限:

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

<info>

 <perm>

    <ref><type>Query</type></ref>

    <rperm>    

       <r><type>user</type><name>u1</name></r>

    </rperm>

 </perm>

</info>

参数描述

参数为节点信息:

refs(选填):需要同时设置多个资源操作时填写,单个资源授权可不写这个标签直接输入ref。

ref(必填):要设置的节点。

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

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

ref-isInherit(选填):未填写时默认为true,为true且资源类型为文件夹时,为文件夹内的子节点同时进行授权,为false时子节点不进行授权。如果资源类型不为文件夹,则此参数值不生效。

rperm(选填):读权限。

rperm-r-type(设置读权限时必填):可读取这个节点的类型,包括三种:user,group,role。

rperm-r-name(设置读权限时必填):可读取这个节点的用户、组或者角色的名称。

rperm-r-action(选填):未填写时默认为all(注意,如果填写了此元素但是内部值为空是无所有操作权限),仅当资源type是db时生效,如果type是其他值,则这个参数无效,无论里面输入了什么都不做处理,也不会报错,其中支持输入:

email:邮件

shareToUser:分享

exportpng:导出png

subscribe:订阅

exportcsv:导出csv

exportexcel:导出excel

exportpdf:导出pdf

exportword:导出word

print:打印

download:下载

all:以上全部操作

   为空:无全部操作权限

输入多个操作(不包含all)时不同的操作间中间采用英文逗号“,”分隔。

rperm-r-parent(选填):可读取这个节点的组的路径。

wperm(选填):写权限。

wperm-w-type(设置写权限时必填):可编辑这个节点的类型,包括三种:user,group,role。

wperm-w-name(设置写权限时必填):可编辑这个节点的用户、组或者角色的名称。

wperm-w-parent(选填):可编辑这个节点的组的路径。

aperm(选填):授权权限。

aperm-a-type(设置授权权限时必填):可编辑这个节点的类型,包括三种:user,group,role。

aperm-a-name(设置授权权限时必填):可编辑这个节点的用户、组或者角色的名称。

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

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

说明:

rperm,wperm,aperm 至少选填一项,且都可能包含多个子节点。

操作不能设置写权限。

此方法会覆盖之前的权限设置,如果不能覆盖则使用设置资源权限(不覆盖)接口

示例

function setPermission() {

 var xml = getXml();

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

    {xmlData : xml},

    function(result) {

    writeXml(result);

 });

}

响应消息

响应结果

操作成功

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

<results>

 <result>

    <level>1</level>

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

 </result>

</results>

操作失败,不存在的用户、组或角色。

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

<results>

 <result>

    <level>6</level>

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

 </result>

</results>

操作失败,不支持的操作。

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

<results>

   <result>

       <level>6</level>

       <message>不支持的操作:'aaaa'。</message>

   </result>

</results>

结果描述

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

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

message为接口操作结果信息。