Enforcing Sharing Rules

DEX602 - Unit 2 Introducing Lightning Web Components

📄 第 157 页 🎬 视频课程

课程章节介绍

今天我们来聊聊Salesforce中的共享规则和Apex类中的共享关键字。这个话题对于确保数据安全和正确访问非常重要。 首先,我们来看一下共享规则。共享规则决定了用户可以看到哪些数据。在Salesforce中,数据访问控制是非常严格的,共享规则就是其中的一部分。 在Apex编程中,我们有几个关键字可以帮助我们控制这些共享规则: 1. ,WITH SHARING,:当你在声明一个类时使用这个关键字,它会强制实施适用于当前用户的共享规则。这意味着,如果你的类中有查询或操作数据的代码,它会尊重用户的共享设置,只允许用户访问他们有权限看到的数据。 2. ,WITHOUT SHARING,:这个关键字的作用正好相反。使用它声明的类不会强制实施当前用户的共享规则。这在某些情况下非常有用,比如当你需要从一个已经实施了共享规则的类中调用另一个类,但希望在这个被调用的类中忽略共享规则时。 3. ,INHERITED SHARING,:这是一个比较新的关键字。使用它声明的类会根据调用它的类的共享模式来运行。如果调用它的类使用了WITH SHARING,那么这个类也会尊重共享规则;如果调用它的类使用了WITHOUT SHARING,那么这个类也会忽略共享规则。 这里有一个重要的区别:如果你在Apex类中省略了共享关键字,那么当这个类作为Apex事务的入口点时,它会默认以WITHOUT SHARING的方式运行。但是,如果你使用了INHERITED SHARING,它会默认以WITH SHARING的方式运行,除非它被显式地在一个没有共享的上下文中调用。 这些关键字在开发Lightning组件控制器、Visualforce控制器、Apex REST服务等时都非常有用。它们帮助开发者确保数据访问的安全性和正确性。 希望这些解释能帮助你更好地理解Salesforce中的共享规则和Apex类中的共享关键字。如果你有更多问题,随时提问!