یادداشت مهندسی / 07
مرزهای احراز هویت و مجوز دسترسی
ورود کاربر به معنی دسترسی او به همهٔ رکوردها نیست. مجوز را بر اساس منبع درخواستی و عملی که قرار است انجام شود طراحی میکنم.
در این یادداشت 05 پرسش
احراز هویت و مجوزدهی چه تفاوتی دارند؟
احراز هویت مشخص میکند درخواست از طرف چه کسی است. مجوزدهی تعیین میکند همان شخص اجازهٔ انجام عملی مشخص روی منبعی مشخص را دارد یا نه. هر دو بررسی باید در سرور انجام شوند.
نقشها چه زمانی مفیدند؟
نقشها مسئولیتهای کلی را نشان میدهند؛ مانند پزشک، ویراستار و بیمار در سامانهٔ کلینیک. اما نقش بهتنهایی نمیگوید کاربر اجازهٔ دیدن اطلاعات یک بیمار مشخص را دارد یا نه.
دسترسی به یک رکورد چگونه کنترل میشود؟
رکورد را فقط از محدودهٔ مجاز کاربر میخوانم یا پیش از بازگرداندن آن، مالکیت یا عضویت را بررسی میکنم. در پالس، ارائهٔ فایل خصوصی به عضویت در گفتوگو وابسته است.
چرا هر درخواست باید جدا بررسی شود؟
پنهان کردن دکمه یا خصوصی بودن آدرس، کنترل دسترسی نیست. هر مسیر خواندن یا تغییر دادهٔ حساس، از جمله دریافت فایل، باید قاعدهٔ مجوز را در سرور اجرا کند.
آزمون دسترسی چه چیزی را باید ثابت کند؟
هم دسترسی مجاز و هم درخواست نامجاز را میآزمایم؛ بهخصوص تلاش برای استفاده از شناسهٔ منبع کاربر دیگر. چنین آزمونی مرز واقعی داده را بررسی میکند.