<< Click to Display Table of Contents >> 1.17按资源设置权限(不覆盖)复制链接 |
请求地址 |
http://ip:port/bi/api?action=setPermission&type=combine&token=xxxx |
|
请求消息 |
请求参数 |
请求参数:xmlData(必填) •给资源设置权限: <?xml version="1.0" encoding="UTF-8"?> <info> <perm> <refs> <ref><type>dbfolder</type><path>新建文件夹/图表</path><isInherit>true</isInherit ></ref> <ref><type>dbfolder</type><path>新建文件夹</path> </refs> <rperm> <r><type>user</type><name>hunk3</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>hunk3</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>u2</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&type=combine&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为接口操作结果信息。 |