Skip to content

الأمان

آليات الأمان، نموذج الأذونات، وتطبيق CRUD/FLS.

نموذج الأذونات

Permission Sets

PERMISSION SETS FTS_App_Access (المسؤولون) التطبيق: FlexibleTeamShare علامات التبويب: كلها مرئية Apex: جميع الفئات الكائنات: CRUD كامل + MAR Team_Sharing_Config: CRUD FTS_Data_Access (المستخدمون النهائيون) ObjectTeamMember__c: CRUD Team_Sharing_Config__c: Read Apex: وحدات التحكم فقط بدون View/Modify All Records
Permission Setالجمهورالقدرات
FTS_App_Accessالمسؤولونوصول كامل للتطبيق، جميع علامات التبويب، جميع فئات Apex، CRUD كامل + Modify All Records على الكائنات، CRUD على Team_Sharing_Config
FTS_Data_Accessالمستخدمون النهائيونCRUD على ObjectTeamMember__c، قراءة Team_Sharing_Config__c، فئات Apex للتحكم فقط، بدون View/Modify All Records

منطق التحكم بالوصول

من يمكنه إدارةأعضاء الفريق؟ لا لا لا نعم نعم نعم مسؤولالنظام؟ مالكالسجل؟ عضو فريق بدورManager أوOwner؟ مسموح مرفوض

تحدد طريقة isCurrentUserManager() من يمكنه إدارة أعضاء الفريق:

  1. مسؤولو النظام — مسموح دائمًا
  2. مالكو السجلات — مسموح دائمًا
  3. أعضاء فريق بدور Manager/Owner — مسموح
  4. الجميع الآخرون — ممنوع

تطبيق CRUD/FLS

فحوصات CRUD/FLS Create isCreateable() Update isUpdateable() +isCurrentUserManager() Delete isDeletable() +isCurrentUserManager() Read WITH USER_MODE وضع التنفيذ مُطبَّق في وحدة التحكم وصول مرتفع(without sharing) يحترم OWD/المشاركة
العمليةفحص الأمانالتنفيذ
إنشاء عضو فريقSchema.sObjectType.ObjectTeamMember__c.isCreateable()تطبيق في وحدة التحكم
تحديث عضو فريقisUpdateable() + isCurrentUserManager()وصول مرتفع (without sharing) بعد التفويض
حذف عضو فريقisDeletable() + isCurrentUserManager()وصول مرتفع (without sharing) بعد التفويض
قراءة أعضاء الفريقWITH USER_MODE / sharing modelيحترم OWD/المشاركة

التحقق من المدخلات

المدخلالتحققالموقع
recordIdليس فارغًا، تنسيق معرف Salesforce صالحوحدة التحكم
userIdليس فارغًا، معرف مستخدم صالحوحدة التحكم
accessLevelليس فارغًا، قيمة قائمة منسدلة صالحةوحدة التحكم + Picklist
roleليس فارغًا، قيمة قائمة منسدلة صالحةوحدة التحكم + Picklist
endDateيجب أن يكون تاريخًا مستقبليًا أو nullوحدة التحكم + Validation Rule
objectApiNameمشتق من معرف Salesforce (ليس مدخل مستخدم)وحدة التحكم

Validation Rules

القاعدةالكائنالوصف
End_Date_Cannot_Be_PastObjectTeamMember__cيمنع تعيين تاريخ انتهاء في الماضي

تعيين مستوى الوصول

ObjectTeamMember__cAccess_Level__c Read Only Read/Write [Object]ShareAccessLevel Read Edit

نظرة عامة كاملة على الأمان

PERMISSION SETS FTS_App_Accessالمسؤولون FTS_Data_Accessالمستخدمون النهائيون التحكم في الوصول System Admin Record Owner دور Manager/Owner نموذج المشاركة ObjectTeamMember__Share [Object]Share مستويات الوصول Read Only → Read Read/Write → Edit

أفضل ممارسات الأمان المطبقة

الضبطالحالةالتنفيذ
فحوصات CRUD في وحدات التحكممطبقisAccessible()، isCreateable()، isUpdateable()، isDeletable()
تطبيق FLSمطبقPermission Sets تتحكم في الوصول للحقول
منع حقن SOQLمطبقمتغيرات ربط لمدخلات المستخدم، قائمة بيضاء لأسماء الكائنات
نموذج المشاركةمطبقwith sharing على وحدات التحكم، without sharing فقط حيث موثق
التحقق من المدخلاتمطبقفحوصات null، التحقق من التنسيق، قواعد العمل
منع XSSمطبقإطار عمل LWC يتعامل مع ترميز المخرجات

أمان التكامل الخارجي

الفحصالنتيجة
استدعاءات HTTPلا شيء — الحزمة لا تقوم باستدعاءات خارجية
Named Credentialsغير مستخدم
External Objectsغير مستخدم
Remote Site Settingsغير مطلوب
انتهاكات CSPنجح — لا توجد انتهاكات Content-Security-Policy