صفحات وب ASP.NET - کتابخانه WebSecurity

توضیحات

کتابخانه WebSecurity امنیت و تأیید هویت برای برنامه‌های صفحات وب ASP.NET را فراهم می‌کند.

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

دستورالعمل کتابخانه WebSecurity - ویژگی‌ها

ویژگی‌ها توضیحات
CurrentUserId شناسه کاربر فعلی را دریافت می‌کند.
CurrentUserName نام کاربر فعلی را دریافت می‌کند.
HasUserId مقدار نشان‌دهنده این که آیا کاربر فعلی شناسه کاربری دارد یا خیر را دریافت می‌کند. اگر بله، true را بازمی‌گرداند.
IsAuthenticated وضعیت تأیید هویت کاربر فعلی را دریافت می‌کند.

دستورالعمل کتابخانه WebSecurity - روش‌ها

ویژگی‌ها توضیحات
ChangePassword() رمز عبور کاربر را تغییر می‌دهد.
ConfirmAccount() حساب کاربری را معتبر می‌کند و آن را فعال می‌کند.
CreateAccount() حساب کاربری جدید ایجاد می‌کند.
CreateUserAndAccount() حساب کاربری جدید ایجاد می‌کند.
GeneratePasswordResetToken() توکن بازیابی رمز عبور قابل ارسال از طریق ایمیل برای کاربر ایجاد می‌کند.
GetCreateDate() تاریخ و زمان ایجاد حساب عضویت مشخص شده را بازمی‌گرداند.
GetPasswordChangeDate() تاریخ و زمان تغییر آخرین رمز عبور حساب عضویت مشخص شده را بازمی‌گرداند.
GetPasswordFailures
SinceLastSuccess()
تعداد دفعات ورود نام کاربری اشتباه از زمان ورود موفقانه یا ایجاد حساب عضویت از طریق حساب کاربری را بازمی‌گرداند.
GetUserId() بنیاد نام کاربری مشخص شده، شناسه کاربری کاربر را بازمی‌گرداند.
GetUserIdFrom
PasswordResetToken ()
نام کاربری از کارت اعتباری تغییر رمز عبور بازمی‌گرداند.
InitializeDatabaseConnection() سیستم عضویت را با اتصال به پایگاه داده‌ای که شامل اطلاعات کاربر است، تنظیم کنید.
IsAccountLockedOut() نشان می‌دهد که آیا حساب عضویت به دلیل تعداد تلاش‌های ناموفق رمز عبور قفل شده است یا خیر.
IsConfirmed() یک مقدار بازمی‌گرداند که نشان می‌دهد کاربر تأیید شده است یا خیر.
IsCurrentUser() یک مقدار بازمی‌گرداند که نشان می‌دهد نام کاربری کاربر ورودی با نام کاربری مشخص شده مطابقت دارد یا خیر.
Login() کاربر را وارد کنید.
Logout() کاربر را از سیستم خارج کنید.
RequireAuthenticatedUser() اگر کاربر تأیید نشده باشد، وضعیت HTTP را به 401 (غير مجاز) تنظیم کنید.
RequireRoles() اگر کاربر فعلی به گروه مشخص شده تعلق ندارد، کد وضعیت HTTP را به 401 تنظیم کنید.
RequireUser() اگر کاربر فعلی کاربر مشخص شده نیست، وضعیت HTTP را به 401 تنظیم کنید.
ResetPassword() با استفاده از کارت اعتباری تغییر رمز عبور، رمز عبور را تغییر دهید.
UserExists() بررسی کنید که کاربر موجود است یا خیر.

داده‌های فنی

نام مقدار
Class WebMatrix.WebData.WebSecurity
Namespace WebMatrix.WebData
Assembly WebMatrix.WebData.dll

تنظیم پایگاه داده WebSecurity

قبل از استفاده از شیء WebSecurity، باید پایگاه داده WebSecurity را ایجاد یا تنظیم کنید.

در دایرکتوری web، صفحه _AppStart.cshtml را ایجاد یا ویرایش کنید.

در این فایل، کد زیر را بنویسید:

_AppStart.cshtml

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

در هر بار شروع به کار وب‌سایت، این کد اجرا می‌شود. این کد پایگاه داده WebSecurity را به صورت اولیه تنظیم می‌کند.

نام پایگاه داده WebSecurity (Users.sdf) به عنوان "Users" است.

نام جدول پایگاه داده‌ای که شامل اطلاعات تنظیمات کاربر است "UserProfile" است.

"UserId" نام ستونی است که شامل ID کاربر (کلید اصلی) است.

"Email" نام ستونی است که شامل نام کاربری است.

آخرین پارامتر true یک مقدار منطقی است که نشان می‌دهد باید جدول‌های پروفایل کاربر و عضویت (اگر وجود ندارند) ایجاد شوند یا خیر، در غیر این صورت false.

توضیح: با اینکه true نشان‌دهنده ایجاد خودکار جدول‌های دیتابیس است، اما دیتابیس خود به خود ایجاد نمی‌شود. باید وجود داشته باشد.

دیتابیس WebSecurity

هر رکورد در جدول UserProfile یک کاربر را نمایندگی می‌کند، که شامل ID کاربر (کلید اصلی) و نام کاربری (ایمیل) است:

UserId ایمیل
1 john@johnson.net
2 peter@peterson.com
3 lars@larson.eut

جدول Membership شامل اطلاعات عضویت است، مانند زمان ایجاد کاربر و اینکه آیا (و زمان) عضویت تأیید شده است.

مانند این (برخی از ستون‌ها ذکر نشده‌اند):

UserId تاریخ ایجاد تأیید
توکن
آیا
تأیید
آخرین
خطا در رمز عبور
رمز عبور تغییر رمز عبور
1 12.04.2012 16:12:17 NULL True NULL AFNQhWfy.... 12.04.2012 16:12:17

نکته:اگر می‌خواهید تمام ستون‌ها و تمام محتوا را ببینید، لطفاً دیتابیس را از طریق WebMatrix باز کنید و سپس هر جدول را بررسی کنید.

پیکربندی عضویت ساده

اگر وب‌سایت شما به گونه‌ای تنظیم نشده است که از سیستم عضویت ASP.NET Web Pages SimpleMembership استفاده کند، ممکن است هنگام استفاده از شیء WebSecurity خطا رخ دهد.

اگر تنظیمات ارائه‌دهنده میزبان با سرور محلی شما متفاوت باشد، خطا رخ می‌دهد. برای حل این مشکل، لطفاً عناصر زیر را به فایل Web.config وب‌سایت خود اضافه کنید:

<appSettings> 
<add key="enableSimpleMembership" value="true" /> 
</appSettings>