التفويض في الـ ASP.NET

18 أبريل 2016     596 مشاهدة    0 تعليق
تم النشر في #Security  #Authorization 

تطرقنا في التدوينة السابقة على أول جزء مهم في بناء موقع أمن ألا وهي المصادقة, اليوم سوف نكمل الجزء الثاني وهي عملية التفويض Authorization والتي تعتبر جزء مكمل لعملية الـ Authentication.

تحدد عملية التفويض ما إذا كان المستخدم مخولاً للوصول إلى مصدر معين في الموقع. وتقدم لنا الـ ASP.NET نوعام من التفويض وهما:

  1. File Authorization

    في هذا النوع تقوم الـ ASP.NET بفحص ال Access Control List لصفحات الـ ASP.NET و خدمات الويب لتحدد ما إذا كان المستخدم مصرحاً له بالوصول إليها.

  2. Url Authroization

    في هذا النوع تقوم الـ ASP.NET بفحص المجموعات والمستخدمين ما إذا كان مصرحاً لهم بالوصول إلى روابط داخل الموقع.

يمكنك السماح أو منع مجموعات أو مستخدمين للوصول لصفحات داخل مجلد معين بإستخدام الأمرين Allow و Deny على النحو التالي:

<authorization>
<allow users="Jon,Jane"/>
<allow roles="Admins"/>
<deny users="Peter"/>
<deny users="?"/>
</authorization>

سنلاحظ في المثال السابق أنه تم إضافة الوسم authorization لتمكين التفويض في ملف الـ Web.Config وعليه فقد تم السماح للمستخدمين Jon و Jane وأي مستخدم ينتمي للمجموعة Admins, كما تم منع المستخدم Peter وأي مستخدم بلا هويه Anonymous للوصول للمصادر الموجوده في نفس المجلد الموجود فيه ملف الإعدادات.

كما يمكننا من حماية الصفحات والمصادر داخل أي مجلد فرعي على النحو التالي:

<location path="HR">
<system.web>
<authorization>
<allow roles="HR" />
<deny users="*" />
</authorization>
</system.web>
</location>

فنلاحظ في المثال السابق أنه تم تحديد المجلد HR بإستخدام الخاصيه path داخل الوسم location ليتم تطبيق السماح والمنع على مستوى مجلد معين, فقد تم منع كل المستخدمين عدى المستخدمين الذين ينتمون إلى المجموعة HR.

وفي الأخير أريد التنويه أنه يمكن التحكم بأفعال الـ Http بنفس الأسلوب السابق ولكن بإستخدام الخاصيه verbs

<authorization>
<allow verbs="GET" users="*"/>
<allow verbs="POST" users="john"/>
</authorization>

.

تويتر فيسبوك قوقل + لينكد إن


اكتب تعليقك