Skip to content

ACLs

An Access Control List (ACL) is a list of permissions attached to an object. Use the acl attribute on the srs tag, or on the itm node with a model equal to column, command, param, option or target. Use dtacl on a command for row-level access.

  • srs without permission: HTTP 403 Access denied, required '...'. When acl is empty, the default is app_[app_name].
  • command without permission: the command is not executed.
  • column without permission: the column is hidden and its values are removed.
  • target without permission: the format is not available.

Access can be limited using the following:

  • roles - for example acl="sys_administrator"
  • teams - for example acl="@teamshort"; must start with @
  • users - for example acl="[email protected]"
  • tenant - for example acl="!tenantname"; must start with !; only authenticated users have this ACL
  • authenticated - for example acl="authenticated"; only authenticated users have this ACL
  • public - for example acl="public"; public access, anyone (authenticated or not) has this ACL

Examples

XML
1
2
3
4
5
6
<srs label="Hello" acl="test">
  <def>
    <itm model="command" acl="@team1">select 'Hello Team1'</itm>
    <itm model="command" acl="@team2">select 'Hello Team2'</itm>
  </def>
</srs>
XML
<srs label="Hello World">
  <def>
    <itm>select 'Acl column test 1' test1 , 'Acl column test 2' test2</itm>
    <itm model="target" name="xlsx" label="Excel"/>
    <itm model="target" name="html"/>
    <itm model="target" name="xml"/>
    <itm model="target" name="pdf"/>
    <itm model="target" name="json" acl="@teamshort"/>
    <itm model="target" name="xlsx" acl="ims_excel"/>
    <itm model="target" name="json"/>
  </def>
</srs>