课程表

Apex课程

工具箱
速查手册

Apex - 安全性

当前位置:免费教程 » 程序设计 » Apex

Apex安全性是指对运行代码应用安全设置和实施共享规则的过程。 Apex类具有可以通过两个关键字控制的安全设置。


数据安全性和共享规则

Apex通常在系统上下文中运行;即当前用户的权限。在代码执行期间不考虑字段级安全性和共享规则。只有匿名块代码以执行代码的用户权限执行。

我们的Apex代码不应该将敏感数据暴露给通过安全和共享设置隐藏的用户。因此,Apex安全和实施共享规则是最重要的。


有共享关键字

如果您使用此关键字,则Apex代码会将当前用户的共享设置强制为Apex代码。这不强制配置文件权限,只有数据级别共享设置。

让我们举一个例子,我们的用户可以访问5个记录,但总记录数为10.因此,当Apex类将使用“共享”关键字声明时,它将只返回5个用户有权访问的记录。


例如:

首先,确保您已在Customer对象中创建了至少10条记录,其中“5名记录的名称”为“ABC客户”,并将5条记录保留为“XYZ客户”。然后创建一个共享规则,与所有用户共享“ABC客户”。此外,请确保您已将“客户”对象的OWD设置为“私有”。


将以下代码粘贴到开发者控制台中的Anonymous块。

  1. //Class With Sharing
  2. public with sharing class MyClassWithSharing {
  3. //Query To fetch 10 records
  4. List<apex_customer__c> CustomerList = [SELECT id, Name FROM APEX_Customer__c LIMIT 10];
  5. public Integer executeQuery () {
  6. System.debug('List will have only 5 records and the actual records are '+CustomerList.size()+' as user has access to'+CustomerList);
  7. Integer ListSize = CustomerList.size();
  8. return ListSize;
  9. }
  10. }
  11. //Save the above class and then execute as below
  12. //Execute class using the object of class
  13. MyClassWithSharing obj = new MyClassWithSharing();
  14. Integer ListSize = obj.executeQuery();

无共享关键字

顾名思义,使用此关键字声明的类在系统模式下执行,即不考虑用户对记录的访问权限,查询将获取所有记录。

  1. //Class Without Sharing
  2. public without sharing class MyClassWithoutSharing {
  3. List<apex_customer__c> CustomerList = [SELECT id, Name FROM APEX_Customer__c LIMIT 10];//Query To fetch 10 records, this will return all the records
  4. public Integer executeQuery () {
  5. System.debug('List will have only 5 records and the actula records are '+CustomerList.size()+' as user has access to'+CustomerList);
  6. Integer ListSize = CustomerList.size();
  7. return ListSize;
  8. }
  9. }
  10. //Output will be 10 records.

设置Apex类的安全性

您可以为特定配置文件启用或禁用Apex类。 下面是同样的步骤。 您可以确定哪个配置文件应该具有访问哪个类。


从类列表页面设置Apex类安全:


步骤1.从安装程序,单击开发- >Apex类。


类列表


第2步:在要限制的类的名称旁边,单击“安全”.。


apex classes


步骤3.从“可用配置文件”列表中选择要启用的配置文件,然后单击“添加”,或从“已启用的配置文件”列表中选择要禁用的配置文件,然后单击删除。


配置文件


第4步:单击保存。


从类详细信息页面设置Apex类安全:


步骤1.从安装程序,点击开发- >Apex类。


设置Apex类安全


第2步:单击要限制的类的名称。 我们点击了CustomerOperationClass。


CustomerOperationClass


步骤3单击安全。


安全

第4步:从“可用配置文件”列表中选择要启用的配置文件,然后单击“添加”,或从“已启用的配置文件”列表中选择要禁用的配置文件,然后单击删除。


删除配置文件


步骤5:点击保存。


从权限集设置Apex安全:


第1步设置,单击管理用户- >权限集。


管理用户


第2步:选择权限集。

权限集


步骤3:单击Apex类访问。


Apex类访问


步骤4.单击编辑。


编辑


第5步:从“可用Apex类”列表中选择要启用的Apex类,然后单击“添加”,或从“已启用的Apex类”列表中选择要禁用的Apex类,然后单击“删除”。


禁用Apex类


第6步:单击保存按钮。
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号