フォルダ別の 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" ] } ] } ] }