フォルダ別の ACL リストの取得

概要

この操作は、指定したフォルダとそのサブフォルダにあるすべての名前付きリソースに対する、すべてのユーザおよび役割の権限を返します。レスポンスでは、サブフォルダに対する権限も返されます。

各リソースのレスポンスには、そのリソースに対して何らかの権限を持っているユーザおよび役割が含まれています。また、ユーザまたは役割ごとに適用される個別の権限も含まれています。

  • 名前付きテーブルの権限には、EXECUTE (実行)、CREATE (作成)、MODIFY (変更)、DELETE (削除) があります。
  • リポジトリ フォルダの権限には、READ (読み取り)、WRITE (書き込み) があります。
  • 他の名前付きリソースの権限には、EXECUTE (実行) があります。

ACL 認証フロー

このリクエストを行うユーザは、WRITE 権限を持っているリポジトリ フォルダ (またはサブフォルダ) 内のリソースに対する権限のリストのみを取得できます。

HTTP GET URL 形式

フォルダ別の ACL リストを取得する HTTP GET リクエストには次の形式を使用します。

HTTP GET http://<サーバー>:<ポート>/rest/Spatial/AccessControlService/acl/folders/repositoryFolderPath

パラメータ

パラメータ タイプ 必須 説明
repositoryFolderPath 文字列 はい ACL を取得するリポジトリ フォルダのパスを指定します。

HTTP POST URL 形式

フォルダ別の ACL リストを取得する HTTP POST リクエストには次の形式を使用します。

HTTP POST http://<サーバー>:<ポート>/rest/Spatial/AccessControlService/acl/folders/

HTTP POST URL 形式

HTTP POST リクエストには次の形式を使用します。

HTTP POST URL:	/acl/folders
POST DATA:   
               {
   "resources":[
      "/Samples/NamedTiles/",
      "/Samples/NamedMaps/"
   ],
   "resourceType":[
                   "RepositoryFolder"
                  ]
                 }             
               
POST HEADER: Content-Type:application/json
オプションの resourceType パラメータでは、レスポンスをフィルタリングするための名前付きリソースのタイプを指定します。NamedTable、NamedFeatureLayer、NamedLabelLayer、NamedGroupLayer、NamedPieLayer、NamedBarLayer、NamedGraduatedSymbolLayer、NamedLineChartLayer、NamedLineLinkageLayer、NamedFeatureLabelSource、NamedMapAndView、NamedTile、NamedWMTSLayer、または RepositoryFolder のうち 1 つ以上を指定できます。
注:
  • POST リクエストでは、リポジトリ フォルダの末尾にスラッシュを付加する必要があります。スラッシュがないとエラーが返されます。

戻り値

指定したフォルダとそのサブフォルダにあるすべての名前付きリソースに対する、すべてのユーザおよび役割の権限を返します。

GET の例

要求 URL

http://<サーバー>:<ポート>/rest/Spatial/AccessControlService/acl/folders/Samples

応答

{
   "resourceAclList":[
      {
         "name":"/Samples/NamedTiles/",
         "resourceType":"RepositoryFolder",
         "users":[
            {
               "name":"user1",
               "permissions":[
                  "READ",
                  "WRITE"
               ]
            }
         ],
         "roles":[
            {
               "name":"role1",
               "permissions":[
                  "READ",
                  "WRITE"
               ]
            }
         ]
      },
      {
         "name":"/Samples/",
         "resourceType":"RepositoryFolder",
         "users":[
            {
               "name":"user1",
               "permissions":[
                  "READ",
                  "WRITE"
               ]
            }
         ],
         "roles":[
            {
               "name":"role1",
               "permissions":[
                  "READ",
                  "WRITE"
               ]
            }
         ]
      },
      {
         "name":"/Samples/NamedTiles/WorldTile",
         "resourceType":"NamedTile",
         "users":[
            {
               "name":"user1",
               "permissions":[
                  "EXECUTE"
               ]
            }
         ],
         "roles":[
            {
               "name":"role1",
               "permissions":[
                  "EXECUTE"
               ]
            }
         ]
      }
   ]
}

POST の例

要求 URL

http://<サーバー>:<ポート>/rest/Spatial/AccessControlService/acl/folders

要求の本文

{
   "resources":[
      "/Samples",
      "/InvalidFolder"
   ]
}

応答

{
   "resourceAclList":[
      {
         "name":"/InvalidFolder/",
         "resourceType":"RepositoryFolder",
         "error":"RepositoryEx_PathNotFound: Path was not found - /InvalidFolder/"
      },
      {
         "name":"/Samples/NamedTiles/",
         "resourceType":"RepositoryFolder",
         "users":[
            {
               "name":"user1",
               "permissions":[
                  "READ",
                  "WRITE"
               ]
            }
         ],
         "roles":[
            {
               "name":"role1",
               "permissions":[
                  "READ",
                  "WRITE"
               ]
            }
         ]
      },
      {
         "name":"/Samples/",
         "resourceType":"RepositoryFolder",
         "users":[
            {
               "name":"user1",
               "permissions":[
                  "READ",
                  "WRITE"
               ]
            }
         ],
         "roles":[
            {
               "name":"role1",
               "permissions":[
                  "READ",
                  "WRITE"
               ]
            }
         ]
      },
      {
         "name":"/Samples/NamedTiles/WorldTile",
         "resourceType":"NamedTile",
         "users":[
            {
               "name":"user1",
               "permissions":[
                  "EXECUTE"
               ]
            }
         ],
         "roles":[
            {
               "name":"role1",
               "permissions":[
                  "EXECUTE"
               ]
            }
         ]
      }
   ]
}