مدیریت وضعیت کاربران با استفاده از **SessionState** در **ASP.NET Web Forms** به شما امکان میدهد تا اطلاعات مربوط به کاربران را در طول جلسه حفظ کنید. این اطلاعات میتواند شامل نام کاربری، نقش کاربر، و دیگر جزئیات باشد. در اینجا یک راهنمای گام به گام برای پیادهسازی این سیستم آورده شده است.
### مراحل پیادهسازی
#### 1. ایجاد پروژه ASP.NET Web Forms
- در **Visual Studio**، یک پروژه جدید از نوع **ASP.NET Web Application** ایجاد کنید.
- از الگوی **Web Forms** استفاده کنید.
#### 2. ایجاد فرم ورود (Login.aspx)
یک صفحه جدید به نام **Login.aspx** ایجاد کنید و کد زیر را در آن قرار دهید:
```html
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" %>
ورود به سیستم
```
#### 3. نوشتن کد برای ورود به سیستم در Login.aspx.cs
در فایل **Login.aspx.cs**، کد زیر را برای مدیریت ورود به سیستم بنویسید:
```csharp
using System;
public partial class Login : System.Web.UI.Page
{
protected void btnLogin_Click(object sender, EventArgs e)
{
// اعتبارسنجی نام کاربری و رمز عبور (این فقط یک مثال ساده است)
if (txtUsername.Text == "admin" && txtPassword.Text == "password")
{
// ذخیره اطلاعات کاربر در Session
Session["Username"] = txtUsername.Text;
Session["IsLoggedIn"] = true;
// انتقال به صفحه اصلی
Response.Redirect("Home.aspx");
}
else
{
lblMessage.Text = "نام کاربری یا رمز عبور نادرست است.";
}
}
}
```
#### 4. ایجاد صفحه اصلی (Home.aspx)
یک صفحه جدید به نام **Home.aspx** ایجاد کنید و کد زیر را در آن قرار دهید:
```html
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Home.aspx.cs" Inherits="Home" %>
صفحه اصلی
```
#### 5. نوشتن کد برای صفحه اصلی در Home.aspx.cs
در فایل **Home.aspx.cs**، کد زیر را برای مدیریت وضعیت کاربر بنویسید:
```csharp
using System;
public partial class Home : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// بررسی وضعیت ورود کاربر
if (Session["IsLoggedIn"] != null && (bool)Session["IsLoggedIn"])
{
lblWelcome.Text = $"خوش آمدید، {Session["Username"]}";
}
else
{
// اگر کاربر وارد نشده باشد، انتقال به صفحه ورود
Response.Redirect("Login.aspx");
}
}
protected void btnLogout_Click(object sender, EventArgs e)
{
// خروج کاربر و پاک کردن Session
Session.Clear();
Response.Redirect("Login.aspx");
}
}
```
### 6. اجرای پروژه
حالا پروژه را اجرا کنید. شما میتوانید به صفحه ورود بروید، نام کاربری و رمز عبور را وارد کنید، و پس از ورود به صفحه اصلی بروید. همچنین میتوانید از صفحه اصلی خارج شوید.
### نکات اضافی
- **ذخیرهسازی اطلاعات بیشتر**: میتوانید اطلاعات بیشتری مانند نقش کاربر، شناسه کاربر و غیره را در **Session** ذخیره کنید.
- **امنیت**: از اعتبارسنجیهای قویتری استفاده کنید و اطلاعات کاربران را بهطور امن ذخیره کنید (مثلاً هش کردن رمز عبور).
- **مدیریت زمان انقضای Session**: میتوانید زمان انقضای **Session** را با استفاده از تنظیمات در **Web.config** مدیریت کنید.
با این مراحل، شما یک سیستم مدیریت وضعیت کاربران با استفاده از **SessionState** در **ASP.NET Web Forms** پیادهسازی کردهاید. اگر سوال یا نکتهای دارید، خوشحال میشوم کمک کنم!
| صفحه قابل مشاهده:
دانلود کد مدیریت وضعیت کاربران با استفاده از SessionState با ASP.NET Web Form میباشد