salesforce 零基础开发入门学习(十二)with sharing 、without sharing 、无声明区别

时间:2022-07-30 14:56:32

在salesforce中,声明类大概可以分成三类:分别是可以声明为with sharing,without sharing,以及两者均不声明.

 public with sharing class A {}

 public without sharing class B{}

 public class C{}

三者区别如下:

  • with sharing:类声明称with sharing类型,则需要走sharing settings中的sharing rules;
  • without sharing:类声明称without sharing类型,则不需要走sharing settings中的sharing rules;
  • 不声明:类不声明上述两种类型,则默认走sharing rules,如果别的类调用此类,则按照别的类的sharing rules 校验。

总局:具体用哪个形式,看项目需求,如果项目需要可控度高,防止因为salesforce自身的坑而无可奈何,则可以通过without sharing形式,校验自己用apex代码搞定;如果需要salesforce封装的sharing功能进行快速开发,可以通过with sharing。

sharing settings路径:setup->Administer->Security Controls->Sharing Settings。

salesforce 零基础开发入门学习(十二)with sharing 、without sharing 、无声明区别