صفحات وب ASP.NET - کتابخانه WebSecurity
- صفحه قبلی کلاسهای WebPages
- صفحه بعدی دادهبازارهای WebPages
توضیحات
کتابخانه 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>
- صفحه قبلی کلاسهای WebPages
- صفحه بعدی دادهبازارهای WebPages