آموزش ASP.NET

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

آموزش ASP.NET

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

مرحله اول: ایجاد یک وب سایت برای ادامه پروژه

یک سایت جدید بر پایه سیستم فایل و به زبان C#  و به نام SecurityTutorial ایجاد می‏کنیم (شکل زیر). 

 

  

 

اضافه کردن Master Page 

 

یک Master Page با نام Site.master در شاخه ریشه به سایت اضافه کنید.        Master Page طراح سایت را قادر می‏سازد برای سایت الگو تهیه کند و آن را به تمام صفحات سایت اعمال کند. مزیت اصلی استفاده از Master Page این است که ظاهر کل سایت را می‏توان در یک صفحه تعیین کرد. 

 

 

 

اکنون در Master Page طراحی سایت را انجام دهید. شما می‏توانید از Design view استفاده کنید و هرگونه صفحه بندی و کنترلی که نیاز دارید را به صفحه اضافه کنید و یا اینکه به طور دستی موارد مشخص شده را در قسمت Source view اضافه کنید. 

  

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="Site" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head id="Head1" runat="server">

<title>Forms Authentication, Authorization, and User Accounts</title>

<link href="Styles.css" rel="stylesheet" type="text/css" />

</head>

<body>

  <div id="wrapper">

    <form id="form1" runat="server">

<div id="header">

<span class="title">User Account Tutorials</span>

</div>

<div id="content"> 

<asp:contentplaceholder id="MainContent" runat="server">

<!-- Page-specific content will go here... -->

</asp:contentplaceholder>

</div>

<div id="navigation">

TODO: Menu will go here...

</div>

    </form>

  </div>

</body>

</html>

 

 

  

یک صفحه با نام Default.aspx مطابق شکل به سایت اضافه کنید. 

 

 

 

 

 

در صفحه Default.aspx شما کدهای زیر را می‏بینید که نشانی Master Page و کنترل‏های متحوی نیز مشخص شده‏اند. 

<%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Title="Untitled Page" %>

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" Runat="Server">

</asp:Content>

نگاهی به احراز هویت فرم‏ها

FormsAuthenticaionModule کدهایی که قسمتی از اجرایASP.NET  هستند، را مدیریت می‏کند. قبل از نسخه 7 وب سرور خدمات اطلاعات اینترنت مایکروسافت[1] یک مانع بین خط HTTP مربوط به IIS و خط HTTP مربوط به اجرایASP.NET  وجود داشت. به طور خلاصه، در IIS نسخه 6 و قبل از آن، FormsAuthenticaionModule فقط زمانی که یک درخواست از IIS برای اجرایASP.NET  صادر شده بود، اجرا می‏شد. به طور پیش فرض IIS محتوی را به طور ایستا پردازش می‏کند (مانند صفحات HTML و CSS و فایل‏های تصویری) و فقط وقتی یک صفحه با پسوند .aspx و یا .asmx و یا .ashx درخواست شده باشد، درخواست اجرایASP.NET  را می‏دهد.

اما، IIS 7 اجازه می‏دهد خطوط IIS وASP.NET  با هم یکی شوند. با کمی تنظیمات پیکربندی شما می‏توانید IIS 7 را طوی تنظیم کنید که FormsAuthenticaionModule را برای تمامی درخواست‏ها، فراخوانی کند. از این گذشته، در IIS 7 شما می‏توانید نقش‏های مجوزدهی آدرسی برای فایل‏ها و یا هر نوع دیگر، تعیین کنید.



[1] Internet Information Services (IIS)

نگهداری برچسب احراز هویت در خلال بازدید صفحات

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

یکی از ویژگی‏های کوکی‏ها انقضاء آنهاست، که زمان و تاریخی است که مرورگر کوکی را نابود می‏کند. وقتی کوکی برچسب احراز هویت منقضی می‏شود، کاربر نمی‏تواند تایید شود و بنابراین ناشناس قلمداد می‏گردد. وقتی کاربر از یک ترمینال عمومی برای دیدن سایت استفاده می‏کند، بهتر است با بستن مرورگر برچسب احراز هویت او منقضی شود. وقتی کاربر از خانه سایت را بازدید می‏کند، ممکن است بخواهد برچسب احراز هویت او در خلال اجراهای مرورگر نگهداری شود چون او نمی‏خواهد در هر بار بازدید از سایت عملیات ورود را انجام دهد. این تصمیم اغلب با تیک زدن CheckBox «مرا به یاد داشته باش» در صفحه ورود انجام می‏شود.