GenAuth DocsDocuments
Concepts
User Guide
Development Integration
AgentAuth
Metadata
Development Integration
Multi-tenant (beta)
Console Documentation
Multi-tenant Console
Tenant Console
Saas Application Demo
Concepts
User Guide
Development Integration
AgentAuth
Metadata
Development Integration
Multi-tenant (beta)
Console Documentation
Multi-tenant Console
Tenant Console
Saas Application Demo
Old version
Development Integration
  • API

  • SDK

    • Java

      • Installation and use
      • User authentication module

      • Management module

        • Manage users

        • Management Roles

        • Manage user groups

        • Manage custom fields

        • Manage Resources and Permissions

        • Manage data resources and permissions

          • Create permission space
          • Batch create permission spaces
          • Get permission space details
          • Batch get permission space details list
          • Paged get permission space list
          • Modify Permission Space
          • Delete Permission Space
          • Batch Delete Permission Space
          • Check whether the permission space Code or name is available
          • Paginated query of all roles in the permission space
          • Create data resources
          • Create string data resources
          • Create array data resources
          • Create tree data resources
          • Get data resource list
          • Get data resource information
          • Modify data resources
          • Delete data resources
          • Check data resource name or Code Is it available
          • Create data resource extension fields
          • Batch create data resource extension fields
          • Delete data resource extension fields
          • Modify data resource extension fields
          • Get data resource extension field list
          • Create data policy
          • Get data policy list
          • Get a list of simple data policy information
          • Get data policy information
          • Modify data policy
          • Delete data policy
          • Check whether the data policy name exists
          • Get all the information of the authorized subjects under the data policy
          • Authorize Data Policy
          • Revoke Data Policy
          • Get User Permission List
          • Judge user permissions
          • Judge external user permissions
          • Get user-specified resource permission list
          • Get a list of users authorized to use resources
          • Get a list of user-authorized resources
          • Get the structure list of external user authorization resources
          • Judge the user's permissions under the same level resources of the tree resource
        • Manage Applications

        • Manage Identity Sources

        • Manage security configuration

        • Manage message service

        • Manage Pipeline

        • Manage Webhook

        • Get audit log

        • Manage metering and billing

        • Events
    • Node.js

    • Python

  • Error Codes
  1. Development Integration
  2. /
  3. SDK
  4. /
  5. Java
  6. /
  7. Management module

  8. /
  9. Manage data resources and permissions

  10. /
  11. Judge the user's permissions under the same level resources of the tree resource

¶ Determine the user's permissions at the same level of a tree resource (recommended)

Update time: 2025-07-23 07:34:21
Edit

This document is automatically generated based on https://github.com/authing/authing-docs-factory based on the https://api-explorer.genauth.ai V3 API, and is consistent with the API parameters and return results. If the document description is incorrect, please refer to the V3 API.

¶ Description

This interface is used to determine whether the user has certain permissions on the nodes of the same level of a tree resource. Since tree-type resources are more commonly used, we have added an interface for determining the permissions of tree-type resource nodes based on the business scenario of "determining whether the user has resource permissions".

¶ Note

We use the resource parameter to locate a certain level of the tree type data resource (so the parameter is passed in the format of resource code/node code path), and use the resourceNodeCodes parameter to locate the current nodes.

¶ Scenario Example

If your business scenario is: when a user deletes certain files in a folder in a file system, you need to determine whether he has the permission to delete these files, then you can use this interface.

¶ Request Example

¶ Example of judging the user's permissions at the same level of tree resources (unconditional judgment)

{
  "namespaceCode": "examplePermissionNamespace",
  "userId": "63721xxxxxxxxxxxxdde14a3",
  "action": "read",
  "resource": "treeResourceCode/structCode",
  "resourceNodeCodes": [
    "resourceStructChildrenCode1",
    "resourceStructChildrenCode2",
    "resourceStructChildrenCode3"
  ]
}

¶ Example of judging the permissions of users at the same level of tree resources (enabling conditional judgment)

{
  "namespaceCode": "examplePermissionNamespace",
  "userId": "63721xxxxxxxxxxxxdde14a3",
  "action": "read",
  "resource": "treeResourceCode/structCode",
  "resourceNodeCodes": [
    "resourceStructChildrenCode1",
    "resourceStructChildrenCode2",
    "resourceStructChildrenCode3"
  ],
  "judgeConditionEnabled": true,
  "authEnvParams": {
    "ip": "110.96.0.0",
    "city": "Beijing",
    "province": "Beijing",
    "country": "China",
    "deviceType": "PC",
    "systemType": "ios",
    "browserType": "IE",
    "requestDate": "2022-12-26 17:40:00"
  }
}

¶ Method Name

ManagementClient.checkUserSameLevelPermission

¶ Request Parameters

NameType
Is it required
Default Value
Description
Example Value
resourceNodeCodesstring[]yes-Current tree resource path child node Code["resourceStructChildrenCode1"]
resourcestringyes-Tree resource path, multi-level paths are allowed, the example is as follows
- treeResourceCode
- treeResourceCode/structCode
- treeResourceCode/structCode/struct1Code
- treeResourceCode/.../structCode
treeResourceCode
actionstringyes-Data resource permission operationread
userIdstringyes-User id63721xxxxxxxxxxxxdde14a3
namespaceCodestringyes-Permission space CodeexamplePermissionNamespace
judgeConditionEnabledbooleanno-Whether to enable condition judgment, the default is false and not enabled
authEnvParamsAuthEnvParamsNo-Conditional environment attribute, used if conditional judgment is enabled{"ip":"127.0.0.1"}

¶ Sample Code

package test.management;

import cn.authing.sdk.java.client.ManagementClient;
import cn.authing.sdk.java.dto.CheckUserSameLevelPermissionDto;
import cn.authing.sdk.java.dto.CheckUserSameLevelPermissionRespDto;
import cn.authing.sdk.java.dto.CheckUserSameLevelPermissionResponseDto;
import cn.authing.sdk.java.model.ManagementClientOptions;
import cn.authing.sdk.java.util.JsonUtils;


public class CheckUserSameLevelPermissionTest {

    // Need to be replaced with your GenAuth Access Key ID
    private static final String ACCESS_KEY_ID = "AUTHING_ACCESS_KEY_ID";
    // Need to be replaced with your GenAuth Access Key Secret
    private static final String ACCESS_KEY_SECRET = "AUTHING_ACCESS_KEY_SECRET";

    public static void main(String[] args) throws Throwable {
        ManagementClientOptions clientOptions = new ManagementClientOptions();
        clientOptions.setAccessKeyId(ACCESS_KEY_ID);
        clientOptions.setAccessKeySecret(ACCESS_KEY_SECRET);
        // If you are a private deployment customer, you need to set the GenAuth service domain name
        // clientOptions.setHost("https://api.your-authing-service.com");
        ManagementClient client = new ManagementClient(clientOptions);

        CheckUserSameLevelPermissionDto request = new CheckUserSameLevelPermissionDto();
        request.setNamespaceCode("examplePermissionNamespace");
        request.setUserId("63721xxxxxxxxxxxxdde14a3");
        request.setAction("get");
        request.setResource("treeResourceCode");

        CheckUserSameLevelPermissionResponseDto response = client
                .checkUserSameLevelPermission(request);
        System.out.println(JsonUtils.serialize(response));
    }

}

¶ Request Response

Type: CheckUserSameLevelPermissionResponseDto

NameTypeDescription
statusCodenumberBusiness status code. You can use this status code to determine whether the operation is successful. 200 means success.
messagestringDescription
apiCodenumberSegment error code, through which the specific error type can be obtained (not returned for successful requests). For a detailed list of error codes, see:API Code List (opens new window)
requestIdstringRequest ID. Returned when the request fails.
dataCheckUserSameLevelPermissionDataDtoResponse data

Example Results:

{
  "statusCode": 200,
  "message": "Operation successful",
  "requestId": "934108e5-9fbf-4d24-8da1-c330328abd6c",
  "data": {
    "checkLevelResultList": {
      "action": "get",
      "resourceNodeCode": "treeResourceStructChildrenCode1",
      "enabled": true
    }
  }
}

¶ Data Structure

¶ AuthEnvParams

NameType
Is it required
Description
Example Value
ipstringnoip127.0.0.1
citystringnocityBeijing
provincestringnoprovinceHubei
countrystringnocountryChina
deviceTypestringnodevice type: PC/MobilePC
systemTypestringnooperation type: Windows, Android, iOS, MacOSWindows
browserTypestringnobrowser type: IE/Chrome/FirefoxIE
requestDatestringnorequest time2022-07-03T03:20:30.000Z

¶ CheckUserSameLevelPermissionDataDto

NameType
Is it required
Description
Example Value
checkLevelResultListarrayYesResponse result list Nested Type:CheckUserSameLevelPermissionRespDto。

¶ CheckUserSameLevelPermissionRespDto

NameType
Is it required
Description
Example Value
actionstringYesData resource permission operationget
resourceNodeCodestringYesTree resource node codetreeResourceStructChildrenCode1
enabledbooleanYesWhether it has action permissiontrue
Previous article: Get the structure list of external user authorization resources Next article: Get Application Details
  • Description
  • Note
  • Scenario Example
  • Request Example
  • Method Name
  • Request Parameters
  • Sample Code
  • Request Response
  • Data Structure

User identity management

Integrated third-party login
Customized authentication process

Enterprise internal management

Single sign-on
Multi-factor authentication
Permission management

Developer

Development Documentation
GitHub (opens new window)

Company

official@genauth.ai
16th Floor, Building B, Beichen Century Center, Chaoyang District, Beijing (Total)
Room 406, 4th Floor, Block B, No. 200, Tianfu Fifth Street, High-tech Zone, Chengdu (Branch)

© Beijing Steamory Technology Co., Ltd.