SOQL के साथ उपयोगकर्ता पहुँच का समस्या निवारण कैसे करें (शुरुआती के लिए अनुकूल)

[ad_1]

शानदार एडमिन, हम जानते हैं कि उपयोगकर्ता पहुँच की समस्या का निवारण करना एक सामान्य कार्य है। आपसे अक्सर पूछे जाने वाले प्रश्न जैसे “जेन इस फ़ील्ड तक क्यों पहुँच सकता है, लेकिन जॉन नहीं?” या “जॉन इस रिकॉर्ड को क्यों देख सकता है जबकि उसे ऐसा करने में सक्षम नहीं होना चाहिए?” समर ’24 में, हमने उपयोगी सारांश दृश्य प्रस्तुत किए उपयोगकर्ताओं, सार्वजनिक समूहों, अनुमति सेटों और अनुमति सेट समूहों के लिए, जो उपयोगकर्ता पहुँच प्रश्नों का उत्तर देना बहुत आसान बनाते हैं। यदि आप अपने समस्या निवारण कौशल को और भी बेहतर बनाना चाहते हैं, तो आप इसका उपयोग कर सकते हैं SOQL क्वेरीज़ इन सारांश दृश्यों के साथ। क्वेरी करके, आपको और भी अधिक जानकारी मिलती है, जिसमें यह भी शामिल है कि उपयोगकर्ता को एक्सेस क्यों है, और यदि आवश्यक हो तो डेटा निर्यात भी कर सकते हैं।

आइए कुछ ऐसे प्रश्नों के उदाहरण देखें जिनका उत्तर आप दे सकते हैं।

कौन से अनुमति सेट जेन को मामलों के लिए पढ़ने की अनुमति देते हैं?

मान लीजिए कि आपने इसका उपयोग किया है उपयोगकर्ता पहुँच सारांश यह निर्धारित करने के लिए कि जेन के पास केस के लिए पढ़ने की अनुमति है, लेकिन अब आप जल्दी से जानना चाहते हैं कि कौन से अनुमति सेट इस पहुँच को प्रदान कर रहे हैं। इस क्वेरी का उपयोग करें अनुमतिसेटअसाइनमेंट जेन को सौंपे गए सभी अनुमति सेटों को वापस करने के लिए ऑब्जेक्ट जो यह अनुमति प्रदान करते हैं।

SELECT AssigneeId,Id,IsActive,PermissionSetId,
PermissionSet.Name FROM PermissionSetAssignment
    WHERE PermissionSetId IN 
        (SELECT ParentId
        FROM ObjectPermissions WHERE SobjectType = 'Case' 
        AND PermissionsRead = true)
    AND AssigneeId = '005XXXXXXXXXXXXIAS' ## Jane's user ID

टिप्पणी: क्वेरी ने अनुमति सेट की एक सूची लौटाई। हालाँकि, अनुमति सेट समूह या प्रोफ़ाइल द्वारा पहुँच प्रदान की जा सकती है। क्या आप जानते हैं कि प्रत्येक अनुमति सेट समूह या प्रोफ़ाइल में एक संबद्ध अनुमति सेट होता है? जब आप क्वेरी करते हैं अनुमति सेट ऑब्जेक्ट से, आप ProfileId, Profile.Name, और PermissionSetGroupId प्राप्त कर सकते हैं, जिसके साथ अनुमति सेट संबद्ध है।

Select Id, name, PermissionSetGroupId, Profile.Name, ProfileId
    FROM PermissionSet 
    WHERE Id IN ('0PSXXXXXXXXXXXXWAM', '0PSXXXXXXXXXXXXWAY', '0PSXXXXXXXXXXXXWAZ') ## [list of permission set IDs]

कौन से अनुमति सेट जेन को अवसरों पर विवरण फ़ील्ड के लिए संपादन की अनुमति देते हैं?

यह क्वेरी पहले वाली क्वेरी के समान ही है, सिवाय इसके कि इस बार हम यह देख रहे हैं कि कौन से अनुमति सेट जेन को एक निश्चित फ़ील्ड अनुमति प्रदान करते हैं। जैसा कि आपने निश्चित रूप से अनुमान लगाया होगा, आप इनमें से किसी भी क्वेरी को अनुमति के प्रकार (ऑब्जेक्ट, फ़ील्ड या उपयोगकर्ता) के आधार पर संशोधित कर सकते हैं जिसे आप देख रहे हैं।

SELECT AssigneeId,ExpirationDate,Id,IsActive,
PermissionSetGroupId,PermissionSetId,
PermissionSet.Name FROM PermissionSetAssignment 
    WHERE PermissionSetId in 
        (SELECT ParentId 
        FROM FieldPermissions
        WHERE Field='Account.CustomerPriority__c' 
        AND PermissionsEdit = true ) 
    AND AssigneeId = '005XXXXXXXXXXXXIAS' ## Jane's user ID

जेन कौन से रिकार्ड संपादित कर सकती है?

अनुमतियों के समस्या निवारण के अलावा, आपको अपने उपयोगकर्ताओं की विशिष्ट रिकॉर्ड तक पहुँच के बारे में भी प्रश्न मिल सकते हैं। आप क्वेरी कर सकते हैं उपयोगकर्तारिकॉर्डपहुँच 200 रिकॉर्ड आईडी तक लौटाने के लिए ऑब्जेक्ट। यहाँ हम रिकॉर्ड्स का वह सेट लौटा रहे हैं जिसे जेन रिकॉर्ड्स की सूची से संपादित कर सकता है, लेकिन आप अलग-अलग एक्सेस स्तरों की जाँच भी कर सकते हैं या यह लौटा सकते हैं कि प्रत्येक रिकॉर्ड के लिए उपयोगकर्ता के पास क्या एक्सेस है।

SELECT RecordId
     FROM UserRecordAccess
     WHERE UserId = '005XXXXXXXXXXXXIAS' ## Jane's user ID
     AND RecordId IN [list of IDs]
     AND HasEditAccess = true

समापन सुझाव

हम यहाँ क्वेरीज़ पर केवल सतही जानकारी ही दे रहे हैं। लेकिन, उम्मीद है कि ये तैयार उदाहरण SOQL का उपयोग करके उपयोगकर्ता पहुँच की समस्या निवारण के साथ आपकी खुद की खोज को गति प्रदान कर सकते हैं।

संदर्भ के तौर पर, यहां API ऑब्जेक्ट्स और इन-ऐप सुविधाओं के त्वरित लिंक दिए गए हैं जो एक्सेस समस्या निवारण के लिए उपयोगी हैं।

मैं उपयोगकर्ता के ऑब्जेक्ट, फ़ील्ड या उपयोगकर्ता अनुमतियों के बारे में जानकारी चाहता हूँ।

मैं एक रिकॉर्ड के लिए उपयोगकर्ता की पहुँच जानना चाहता हूँ। मैं जानना चाहता हूँ कि उपयोगकर्ता के पास वह पहुँच क्यों है।

मैं जानना चाहता हूं कि क्या कोई उपयोगकर्ता किसी विशिष्ट प्रवाह, एपेक्स क्लास या अन्य एक्सेस सेटिंग तक पहुंच सकता है।

मैं अनुमति सेट और अनुमति सेट समूहों के बीच संबंध जानना चाहता हूँ।

मैं सार्वजनिक समूह या कतार सदस्यता को समझना चाहता हूँ।

अनुमतियों, रिकॉर्ड्स और एक्सेस सेटिंग्स की क्वेरी करने के कई और उदाहरणों के लिए, देखें पहुँच संबंधी समस्याओं के निवारण के लिए उदाहरण क्वेरीज़ Salesforce सहायता में। यदि आप ऐप के भीतर ही समस्या निवारण करना पसंद करते हैं, तो देखें उपयोगकर्ता पहुँच समस्याओं और अपर्याप्त विशेषाधिकार त्रुटियों का निवारण समस्याओं के समाधान हेतु मार्गदर्शन हेतु।

इस आलेख पर सहयोग के लिए डाना होलोवे (प्रमुख तकनीकी लेखक) और निखिल गुप्ता (प्रमुख इंजीनियर) को धन्यवाद।

संसाधन

[ad_2]

Source link

Leave a Reply