如何从顶点代码检查自定义设置的权限

How to check permission on custom setting from apex code

在 Apex 中,如果自定义设置 "ThisSetting" 包含项目 "ThisSettingFirst"、"ThisSettingSecond"、"ThisSettingThird",我将如何正确编码这些 if 语句?

如果(当前登录的用户没有读取自定义设置的权限)

如果(当前登录的用户没有更新自定义设置的权限)

如果(当前登录的用户没有权限读取自定义设置-ThisSetting)

如果(当前登录的用户没有权限更新自定义设置-ThisSetting)

如果(当前登录的用户没有权限读取自定义设置-ThisSettingFirst)

如果(当前登录的用户没有权限更新自定义设置-ThisSettingFirst)

谢谢。

您可以使用 DescribeSObjectResult Class 方法检查当前用户对该特定 object/setting 的权限。

Schema.sObjectType objType = Schema.getGlobalDescribe().get('ThisSetting__c');
Schema.DescribeSObjectResult objDesc = objType.getDescribe();

if(objDesc.isUpdateable()) {
    System.debug('Updateable');
}
if(objDesc.isCreateable()) {
    System.debug('Createable');
}