<< Click to Display Table of Contents >> 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为接口操作结果信息。 |