Class Security & Apex Managed Sharing

DEX455 - Apex 安全与共享模型完全指南

📄 第 216 页 🎬 视频课程

课程章节介绍

好,今天我们来讲讲Salesforce里两个很重要的安全概念:类安全性和记录共享。 首先,类安全性,它其实是用来控制“谁能调用顶级Apex类的方法”。比如说,你写了一个Aura控制器,或者一个@AuraEnabled方法,又或者一个Visualforce控制器、一个REST服务、甚至是Deliverc Apex入口——这些入口点的访问,就是靠类安全性来管的。简单讲,它是根据用户的配置文件或权限集,来决定这个人能不能执行这个类里的方法。 那什么叫共享呢?共享是管“记录”的,也就是一条一条的数据。它决定了谁可以对某条记录做哪些操作,比如能不能看、能不能改。Salesforce里有三种主要的共享方式: 第一种叫托管共享,就是系统自动控制的,包括记录的拥有者、角色层次结构,还有共享规则,都不需要用户自己手动去设。 第二种叫用户托管共享,也就是手动共享,用户可以自己把一条记录分享给其他人或者组。 第三种叫Apex托管共享,就是通过写Apex代码,用程序来控制共享。 在Salesforce里,共享记录本身也是一个对象,叫做共享对象。每种标准或自定义对象都有对应的共享对象,它里面有几个关键属性:访问级别——有私人、只读、读写和全部;父记录ID,就是你要分享的那条记录的ID;还有共享原因,我们叫它rowCause,用来标记是怎么分享出去的;另外就是被授予权限的用户或组的ID。 总的来说,类安全性管的是“能不能执行代码”,共享管的是“能不能看到和操作记录”,两者加在一起,就构成了Salesforce里立体的权限控制。

关键词

Apex Salesforce Developer Guide