فهرست سرفصل‌های ASP
خانه (HOME) معرفی (WebPages Intro) ریزر (WebPages Razor) چیدمان (WebPages Layout) پوشه ها (WebPages Folders) گلوبال (WebPages Global) فرم ها (WebPages Forms) اشیا (WebPages Objects) فایل ها (WebPages Files) پایگاه داده ها (WebPages Databases) هلپرها (WebPages Helpers) وب گرید (WebPages WebGrid) نمودارها (WebPages Charts) ایمیل (WebPages Email) امنیت (WebPages Security) انتشار (WebPages Publish) نمونه ها (WebPages Examples) کلاس ها (WebPages Classes) معرفی (Razor Intro) سینتکس (Razor Syntax) متغیرها (Razor C# Variables) حلقه ها (Razor C# Loops) منطق (Razor C# Logic) متغیرها (Razor VB Variables) حلقه ها (Razor VB Loops) منطق (Razor VB Logic) معرفی (ASP Intro) سینتکس (ASP Syntax) متغیرها (ASP Variables) رویه ها (ASP Procedures) شرط ها (ASP Conditionals) حلقه ها (ASP Looping) فرم ها (ASP Forms) کوکی ها (ASP Cookies) نشست (ASP Session) برنامه (ASP Application) اینکلود (#include) (ASP #include) Global.asa (ASP Global.asa) AJAX (ASP AJAX) ایمیل (ASP e-mail) نمونه ها (ASP Examples) گواهینامه (ASP Certificate) توابع VB (ASP VB Functions) کلیدواژه های VB (ASP VB Keywords) Response (ASP Response) Request (ASP Request) Application (ASP Application) Session (ASP Session) Server (ASP Server) Error (ASP Error) FileSystem (ASP FileSystem) TextStream (ASP TextStream) Drive (ASP Drive) File (ASP File) Folder (ASP Folder) Dictionary (ASP Dictionary) AdRotator (ASP AdRotator) BrowserCap (ASP BrowserCap) پیوند محتوا (ASP Content Linking) گرداننده محتوا (ASP Content Rotator) راهنمای سریع (ASP Quick Ref) معرفی (ADO Intro) اتصال (ADO Connect) رکوردست (ADO Recordset) نمایش (ADO Display) کوئری (ADO Query) مرتب سازی (ADO Sort) افزودن (ADO Add) به روزرسانی (ADO Update) حذف (ADO Delete) فرمان (ADO Command) اتصال (ADO Connection) خطا (ADO Error) فیلد (ADO Field) پارامتر (ADO Parameter) ویژگی (ADO Property) رکورد (ADO Record) رکوردست (ADO Recordset) جریان (ADO Stream) انواع داده (ADO DataTypes)
نتیجه‌ای برای جستجو یافت نشد.
ASP

ASP — امنیت (WebPages Security)

آخرین بروزرسانی: 1404/08/14

امنیت (WebPages Security)

در «امنیت Web Pages» با شیء «WebSecurity» آشنا می شویم. «احراز هویت (Authentication)» یعنی تشخیص کاربر واقعی. مثل کارت دانش آموزی هنگام ورود به مدرسه.

WebSecurity چیست؟

WebSecurity مجموعه ای برای حساب کاربری است. می تواند ورود، خروج، تغییر رمز، تأیید کاربر و نقش ها را مدیریت کند.

راه اندازی پایگاه داده WebSecurity

باید اتصال پایگاه داده را در _AppStart.cshtml مقداردهی کنی. این کار هر بار شروع سایت اجرا می شود.

@{
  WebSecurity.InitializeDatabaseConnection(
    "Users",
    "UserProfile",
    "UserId",
    "Email",
    true
  );
}

مشاهده در ادیتور

نکته: مقدار true یعنی اگر جدول ها نبودند، خودکار ساخته شوند. اما خود دیتابیس باید وجود داشته باشد.

حفاظت صفحه و وضعیت ورود

می خواهی فقط کاربران واردشده صفحه را ببینند؟ از RequireAuthenticatedUser() استفاده کن. سپس نام کاربر را نمایش بده و امکان خروج بده.

@{
  WebSecurity.RequireAuthenticatedUser();
}
@{
  if (WebSecurity.IsAuthenticated) {
    var name = WebSecurity.CurrentUserName;
    <text>Welcome @name</text>;
  }
}
@{
  if (IsPost) {
    WebSecurity.Logout();
  }
}
<form method="post">
  <button type="submit">Logout</button>
</form>

مشاهده در ادیتور

نمونه ورود ساده

با متد Login() می توانی کاربر را وارد کنی. یادت باشد ورودی ها را بررسی کنی.

@{
  if (IsPost) {
    var email = Request["email"];
    var password = Request["password"];
    var remember = Request["remember"] == "on";
    var ok = WebSecurity.Login(email, password, remember);
    if (!ok) {
      <text>Login failed</text>;
    }
  }
}
<form method="post">
  <input name="email" />
  <input name="password" type="password" />
  <label>
    <input type="checkbox" name="remember" />Remember me
  </label>
  <button type="submit">Login</button>
</form>

مشاهده در ادیتور

سازگاری SimpleMembership

اگر خطای پیکربندی دیدی، در Web.config کلید enableSimpleMembership را فعال کن. این تنظیم، سیستم عضویت Web Pages را روشن می کند.

گام های عملی

  1. InitializeDatabaseConnection را در _AppStart تنظیم کن.
  2. فرم ورود را بساز و Login را صدا بزن.
  3. صفحات حساس را RequireAuthenticatedUser محافظت کند.

نکته: برای بازیابی رمز، از GeneratePasswordResetToken و ResetPassword استفاده کن. برای سیاست های ایمیل امن، به ایمیل Web Pages رجوع کن.

هشدار: توکن ها و گذرواژه ها را لاگ عمومی نکن. از HTTPS استفاده کن.

جمع بندی سریع

  • WebSecurity ورود و امنیت را مدیریت می کند.
  • راه اندازی در _AppStart انجام می شود.
  • RequireAuthenticatedUser صفحات را قفل می کند.
  • SimpleMembership را در Web.config فعال کن.