■Salesforce系统程序执行有两种运行mode
①system mode:可以对任何object,任何数据,任何字段进行CURD
②user mode:只对自己有权限的object,有权限的数据,有权限的字段进行CURD
※Apex默认是system mode运行
■Apex有两种keyword修饰符
①with sharing 强制sharing rule 有效,使用户只能看到自己有权限看到的数据
⇒字段级别权限依然是system mode,即对无权限的字段也可以CURD
②without sharing强制sharing rule 无效,使用户能看到任何object的任何数据。
■查看当前apex运行mode
调用级别 | 没有keyword | without sharing | with sharing |
---|---|---|---|
最上层 | system mode | system mode | user mode |
不是最上层 | 和上层保持一致 | system mode | user mode |
最后,需要记住的是
1,Trigger是system mode运行,无法添加keyword。
Trigger的Handler class可以通过添加with sharing来实现user mode。
2,Anonymous Block 是user mode。