Apex安全性是指對運行代碼應用安全設置和實施共享規(guī)則的過程。 Apex類具有可以通過兩個關鍵字控制的安全設置。
我們的Apex代碼不應該將敏感數(shù)據暴露給通過安全和共享設置隱藏的用戶。因此,Apex安全和實施共享規(guī)則是最重要的。
例如:
首先,確保您已在Customer對象中創(chuàng)建了至少10條記錄,其中“5名記錄的名稱”為“ABC客戶”,并將5條記錄保留為“XYZ客戶”。然后創(chuàng)建一個共享規(guī)則,與所有用戶共享“ABC客戶”。此外,請確保您已將“客戶”對象的OWD設置為“私有”。
將以下代碼粘貼到開發(fā)者控制臺中的Anonymous塊。
//Class With Sharing public with sharing class MyClassWithSharing { //Query To fetch 10 records List<apex_customer__c> CustomerList = [SELECT id, Name FROM APEX_Customer__c LIMIT 10]; public Integer executeQuery () { System.debug('List will have only 5 records and the actual records are '+CustomerList.size()+' as user has access to'+CustomerList); Integer ListSize = CustomerList.size(); return ListSize; } } //Save the above class and then execute as below //Execute class using the object of class MyClassWithSharing obj = new MyClassWithSharing(); Integer ListSize = obj.executeQuery();
顧名思義,使用此關鍵字聲明的類在系統(tǒng)模式下執(zhí)行,即不考慮用戶對記錄的訪問權限,查詢將獲取所有記錄。
//Class Without Sharing public without sharing class MyClassWithoutSharing { 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 public Integer executeQuery () { System.debug('List will have only 5 records and the actula records are '+CustomerList.size()+' as user has access to'+CustomerList); Integer ListSize = CustomerList.size(); return ListSize; } } //Output will be 10 records.
您可以為特定配置文件啟用或禁用Apex類。 下面是同樣的步驟。 您可以確定哪個配置文件應該具有訪問哪個類。
從類列表頁面設置Apex類安全:
步驟1.從安裝程序,單擊開發(fā)- >Apex類。
第2步:在要限制的類的名稱旁邊,單擊“安全”.。
步驟3.從“可用配置文件”列表中選擇要啟用的配置文件,然后單擊“添加”,或從“已啟用的配置文件”列表中選擇要禁用的配置文件,然后單擊刪除。
第4步:單擊保存。
從類詳細信息頁面設置Apex類安全:
步驟1.從安裝程序,點擊開發(fā)- >Apex類。
第2步:單擊要限制的類的名稱。 我們點擊了CustomerOperationClass。
步驟3單擊安全。
第4步:從“可用配置文件”列表中選擇要啟用的配置文件,然后單擊“添加”,或從“已啟用的配置文件”列表中選擇要禁用的配置文件,然后單擊刪除。
步驟5:點擊保存。
從權限集設置Apex安全:
第1步設置,單擊管理用戶- >權限集。
第2步:選擇權限集。
步驟3:單擊Apex類訪問。
步驟4.單擊編輯。
更多建議: