آموزش ASP.NET

آموزش ASP.NET متفاوت از آنچه جاهای دیگر می بینید!

آموزش ASP.NET

آموزش ASP.NET متفاوت از آنچه جاهای دیگر می بینید!

احراز هویت از طریق احراز هویت فرم‏ها

احراز هویت فرم‏ها برای برنامه‏های کاربردی وب مطلوب است. یادآوری می‏کنیم که احراز هویت فرم‏ها به وسیله مجبور ساختن کاربرها به وارد کردن اعتبارنامه‏هایشان در وب فرم، آنها را شناسایی می‏کنند. در نتیجه وقتی یک کاربر تلاش می‏کند به وسیله غیرمجاز دسترسی داشته باشد، به طور خودکار به صفحه login هدایت می‏شود و در آنجا می‏تواند اعتبارنامه‏اش را وارد کند.

بعد از اینکه اعتبارنامه فرستاده شده بررسی شد، یک برچسب احراز هویت فرم‏ها برای کاربر ایجاد می‏شود. این برچسب نشان می‏دهد که کاربر احراز هویت شده است و برچسب شامل اطلاعات شناسایی مانند نام کاربری می‏باشد. برچسب احراز هویت فرم‏ها، معمولا، به صورت یک کوکی در رایانه خدمت گیرنده ذخیره می‏شود. بنابراین از این به بعد درخواست HTTP برای دیدن وب سایت شامل برچسب احراز هویت فرم‏ها می‏باشد و در نتیجه برنامه کاربردی وب (وب سایت) پس از بار اول که کاربر وارد سامانه شد، قادر است او را شناسایی کند. 

شکل زیر جریان احراز هویت را با مثال توضیح می‏دهد. دقت کنید که چگونه بخش‏های احراز هویت و مجوز دهی در ASP.NET به صورت دو موجودیت مجزا عمل می‏کنند. سیستم احراز هویت فرم‏ها کاربر را شناسایی می‏کند (و یا گزارش می‏دهد که ناشناخته است). سیستم مجوز دهی تعیین می‏کند که چه کاربری به منابع مورد درخواست دسترسی دارد. اگر کاربری دارای مجوز نشد (مانند شکل زیر، وقتی به طور ناشناخته تلاش می‏کند صفحه ProtectedPage.aspx را ببیند) سیستم مجوزدهی گزارش می دهد که کاربر رد شده است، در نتیجه سیستم احراز هویت به طور خودکار کاربر را به صحفه ورود هدایت می کند. 

 

 

 

یک مرتبه که کاربر به طور موفقیت آمیز وارد شد، در مراحل بعدی، درخواست HTTP شامل برچسب احراز هویت فرم‏ها می‏باشد. سیستم احراز هویت فرم‏ها فقط کاربر را شناسایی می‏کند، و سیستم مجوزدهی تعیین می‏کند که چه کاربری می‏تواند به منابع مورد درخواست دسترسی داشته باشد.

احراز هویت از طریق احراز هویت ویندوز

در احراز هویت از طریق ویندوز یکی از سه روش زیر به کار گرفته می‏شود:

·    احراز هویت اولیه

·    احراز هویت مختصر

·    احراز هویت یکپارچه ویندوز

هر سه روش فوق تقریبا مشابه هستند: وقتی یک درخواست ناشناس از یک شخص غیرمجاز وارد می‏شود، سرور یک پاسخ HTTP مبنی بر اینکه برای ادامه، مراحل شناسایی لازم است، برمی‏گرداند. سپس مرورگر یک جعبه تبادل دوطرفه‏ای (شکل زیر) برای دریافت نام کاربر و رمز عبور به کاربر نمایش می‏دهد. سپس این اطلاعات از طریق سرآیند HTTP برای سرور فرستاده می‏شود. 

 

 

هر کاربر شناسایی شده در وب سایت شما باید در سازمان‏تان یک حساب ویندوز داشته باشد. این روش معمولی در اینترانت است. در واقع وقتی شما از احراز هویت یکپارچه ویندوز در تنظیمات اینترانت استفاده می‏کنید، مرورگر به طور خودکار اعتبارنامه استفاده شده برای ورود به شبکه را برای سرور تهیه می‏کند. در حالی که احراز هویت ویندوز برای برنامه‏های کاربردی اینترانت قوی است، به دلیل اینکه شما نخواهید برای هر کاربر که وارد سایت شما می‏شود یک حساب ویندوز ایجاد کنید،  برای برنامه‏های کاربردی اینترنت (سایت‏های اینترنتی) شدنی نیست.

احراز هویت کاربران در ASP.NET

وقتی یک کاربر نشانی یک صفحه را در مرورگر خود وارد می‏کند و یا روی یک پیوند کلیک می‏کند، مرورگر وب یک درخواست HTTP برای یک محتوی مشخص مانند: یک صفحه ASP.NET، یک تصویر، یک فایل جاوا اسکریپت و یا هر محتوی دیگر به سرور ارسال می‏کند. وب سرور طوری طراحی شده است که محتوی درخواست شده را برگرداند. در انجام این کار، سرور باید در مورد مسایلی در ارتباط با درخواست تصمیم‏گیری کند، شامل اینکه: چه کسی درخواست را ارسال کرده و آیا شخص برای بازیابی محتوی درخواست شده مجاز است یا خیر؟

به طور پیش فرض، مرورگرها درخواست‏های HTTP را بدون وجود هرگونه اطلاعات شناسایی ارسال می‏کنند. اما اگر درخواست ارسالی شامل اطلاعات شناسایی باشد، سرور تلاش می‏کند خدمت گیرنده‏ای که این درخواست را ارسال کرده شناسایی کند. مراحل شناسایی، به روش احراز هویتی که وب سایت استفاده می‏کند، دارد. ASP.NET سه نوع روش را پشتیبانی می‏کند: ویندوز، گذرنامه و فرم‏ها. در این مقاله تمرکز ما بر روی شناسایی از طریق فرم‏ها است، ولی در ابتدا شناختی از  شناسایی از طریق ویندوز به دست آوریم.