Apex安全性是指對(duì)運(yùn)行代碼應(yīng)用安全設(shè)置和實(shí)施共享規(guī)則的過(guò)程。 Apex類具有可以通過(guò)兩個(gè)關(guān)鍵字控制的安全設(shè)置。
我們的Apex代碼不應(yīng)該將敏感數(shù)據(jù)暴露給通過(guò)安全和共享設(shè)置隱藏的用戶。因此,Apex安全和實(shí)施共享規(guī)則是最重要的。
例如:
首先,確保您已在Customer對(duì)象中創(chuàng)建了至少10條記錄,其中“5名記錄的名稱”為“ABC客戶”,并將5條記錄保留為“XYZ客戶”。然后創(chuàng)建一個(gè)共享規(guī)則,與所有用戶共享“ABC客戶”。此外,請(qǐng)確保您已將“客戶”對(duì)象的OWD設(shè)置為“私有”。
將以下代碼粘貼到開發(fā)者控制臺(tái)中的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();
顧名思義,使用此關(guān)鍵字聲明的類在系統(tǒng)模式下執(zhí)行,即不考慮用戶對(duì)記錄的訪問(wèn)權(quán)限,查詢將獲取所有記錄。
//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類。 下面是同樣的步驟。 您可以確定哪個(gè)配置文件應(yīng)該具有訪問(wèn)哪個(gè)類。
從類列表頁(yè)面設(shè)置Apex類安全:
步驟1.從安裝程序,單擊開發(fā)- >Apex類。
第2步:在要限制的類的名稱旁邊,單擊“安全”.。
步驟3.從“可用配置文件”列表中選擇要啟用的配置文件,然后單擊“添加”,或從“已啟用的配置文件”列表中選擇要禁用的配置文件,然后單擊刪除。
第4步:單擊保存。
從類詳細(xì)信息頁(yè)面設(shè)置Apex類安全:
步驟1.從安裝程序,點(diǎn)擊開發(fā)- >Apex類。
第2步:單擊要限制的類的名稱。 我們點(diǎn)擊了CustomerOperationClass。
步驟3單擊安全。
第4步:從“可用配置文件”列表中選擇要啟用的配置文件,然后單擊“添加”,或從“已啟用的配置文件”列表中選擇要禁用的配置文件,然后單擊刪除。
步驟5:點(diǎn)擊保存。
從權(quán)限集設(shè)置Apex安全:
第1步設(shè)置,單擊管理用戶- >權(quán)限集。
第2步:選擇權(quán)限集。
步驟3:單擊Apex類訪問(wèn)。
步驟4.單擊編輯。
更多建議: