01
نموذج الأمان في IRIS
يعتمد نموذج الأمان في IRIS على الموارد (Resources) والأدوار (Roles) والصلاحيات (Privileges).
// تعريف موارد أمنية
ClassMethod SetupSecurity()
{
// إنشاء مورد جديد
Set resource = ##class(Security.Resources).%New()
Set resource.Name = "HOSPITAL_PATIENT_DATA"
Set resource.Description = "بيانات المرضى"
Set resource.PublicPermissions = "" // لا وصول عام
Do resource.%Save()
// إنشاء دور مع صلاحيات
Set role = ##class(Security.Roles).%New()
Set role.Name = "HOSPITAL_DOCTOR"
Set role.Description = "صلاحيات الطبيب"
Set role.Resources = "HOSPITAL_PATIENT_DATA:RW,HOSPITAL_ORDER:RW,HOSPITAL_REPORT:R"
Do role.%Save()
// إنشاء دور ممرض
Set role = ##class(Security.Roles).%New()
Set role.Name = "HOSPITAL_NURSE"
Set role.Description = "صلاحيات الممرض"
Set role.Resources = "HOSPITAL_PATIENT_DATA:R,HOSPITAL_VITALS:RW"
Do role.%Save()
}
// التحقق من الصلاحيات
ClassMethod CheckPermission(resource As %String, permission As %String) As %Boolean
{
Quit $SYSTEM.Security.Check(resource, permission)
}