عنصر کنترل های ورود
کنترل ورود به سیستم ایجاد یک صفحه ورود برای احراز هویت فرم ها در ارتباط با عضویت API را آسان می کند. آماده استفاده را فراهم می کند رابط کاربری، که نام کاربری و رمز عبور را می خواهد و دکمه ای را برای ورود کاربر ارائه می دهد. در پشت صحنه، عملکردی را که در مقاله قبلی توضیح داده شد، محصور می کند: تأیید هویت کاربر از طریق API عضویت و محصور کردن عملکردهای تأیید هویت فرم های اولیه، مانند هدایت مجدد به صفحه درخواست شده اولیه در یک منطقه امن از برنامه پس از موفقیت آمیز بودن. وارد شدن.
این بدان معناست که Login مواردی مانند Membership.ValidateUser() یا FormsAuthentication.RedirectFromLoginPage را کپسوله می کند، بنابراین نیازی نیست خودتان آن کد را بنویسید. تصویر زیر کنترل Login را در عمل نشان می دهد:
هر زمان که کاربر روی دکمه ورود کلیک می کند، کنترل به طور خودکار نام کاربری و رمز عبور را با استفاده از تابع Membership.ValidateUser() تأیید می کند و سپس در صورت موفقیت آمیز بودن تأیید، FormsAuthenication.RedirectFromLoginPage را فرا می خواند. همه گزینه های کنترل ورود بر ورودی هایی که به این روش ها ارائه می دهد تأثیر می گذارد. به عنوان مثال، اگر چک باکس دفعه بعد مرا به خاطر بسپارید، مقدار true را در پارامتر createPersistentCookie متد RedirectFromLoginPage () ارسال می کند. بنابراین، FormsAuthenticationModule یک کوکی پایدار ایجاد می کند.
در پشت صحنه، Login یک کنترل ترکیبی ASP.NET است. به طور کامل توسعه پذیر است - به این معنا که به شما امکان می دهد هر سبک و ویژگی طرح بندی را نادیده بگیرید، و همچنین رویدادهای منتشر شده را برای نادیده گرفتن رفتار پیش فرض آن متوقف کنید. اگر کنترل را همانطور که هست رها کنید و هیچ رویدادی را رهگیری نکنید، به طور خودکار از ارائه دهنده عضویت پیکربندی شده برای برنامه استفاده می کند.
ساده ترین شکل کنترل ورود در یک صفحه به شکل زیر است:
چندین ویژگی برای تغییر ظاهر کنترل ورود وجود دارد. می تواند به کار رود تنظیمات مختلفسبک های زیر:
همچنین می توانید از کلاس های CSS برای شخصی سازی ظاهر Login استفاده کنید. هر ویژگی سبک پشتیبانی شده توسط کنترل ورود شامل یک ویژگی CssClass است. مانند هر کنترل دیگر ASP.NET، این ویژگی به شما امکان می دهد نام یک کلاس CSS را که قبلاً به وب سایت اضافه شده است، مشخص کنید. بیایید فرض کنیم که شیوه نامه CSS زیر با نام فایل MyStyles.css به پروژه اضافه شده است:
MyLoginTextBoxStyle ( مکاننما: اشارهگر؛ رنگ پسزمینه: زرد؛ تراز نوشتاری: مرکز؛ بالشتک: 6 پیکسل؛ حاشیه: مشکی نقطهدار؛ فونت خانواده: Verdana؛ تراز عمودی: وسط؛ ) .ورود به سیستم (نمایش: بلوک درون خطی؛ ) عنوان (بالشتک: 6 پیکسل؛ )
این فایل سبک را می توان در صفحه ورود قرار داد تا بتوان به عنصر Login استایل داد:
جدول زیر سبک های پشتیبانی شده توسط کنترل Login را فهرست می کند. هر سبکی به یک شکل کار می کند. خواص فونت و رنگ را می توان مستقیماً تنظیم کرد یا می توانید از ویژگی CssClass برای تعیین آن استفاده کنید کلاس مورد نیاز CSS:
CheckBoxStyle | ویژگی های سبک را برای کادر انتخاب دفعه بعد مرا به خاطر بسپار تعریف می کند. |
FailureStyle | سبکی را برای متنی که در صورت شکست ورود به سیستم نمایش داده می شود، تعریف می کند. |
HyperLinkStyle | کنترل ورود به شما این امکان را می دهد که چندین نوع پیوند، مانند صفحه ثبت نام اولیه را تعریف کنید. این سبک ست می کند ظاهرچنین هایپرلینک هایی |
InstructionTextStyle | کنترل ورود به شما امکان می دهد متن راهنما را که مستقیماً در کنترل ورود ظاهر می شود مشخص کنید. این سبک ظاهر این متن را مشخص می کند |
LabelStyle | سبک را برای برچسب های نام کاربری و رمز عبور تعریف می کند. |
LoginButtonStyle | سبک دکمه ورود را مشخص می کند |
TextBoxStyle | سبک فیلدهای متنی نام کاربری و رمز عبور را تعریف می کند. |
TitleTextStyle | سبک متن هدر را برای کنترل ورود تعریف می کند |
ValidatorTextStyle | سبکهایی را برای کنترلهای مورد استفاده برای اعتبارسنجی نام و رمز عبور یک کاربر تعریف میکند |
رابط کاربری عنصر Login نه تنها از طریق این سبک ها سفارشی می شود. سایر خواص اضافی برای در نظر گرفته شده است بخش های خاصمحتوا را کنترل کنید، مانند دکمه ورود به سیستم، که همچنین به شما امکان می دهد رابط کاربری گرافیکی را سفارشی کنید.
به عنوان مثال، می توانید متن نمایش داده شده در دکمه ورود را انتخاب کنید، یا حتی به جای این دکمه (همانطور که به طور پیش فرض تنظیم شده است) یک لینک نمایش داده شود. علاوه بر این، می توانید چندین لینک به کنترل ورود اضافه کنید، مانند پیوند به یک صفحه راهنما یا یک صفحه ثبت نام. هر دو صفحه باید باز باشند دسترسی ناشناسزیرا باید به کاربران ناشناس نیز کمک ارائه شود (به یاد داشته باشید که اگر کسی کنترل ورود را ببیند، به طور بالقوه یک کاربر ناشناس است). برای گنجاندن پیوندهای اضافی در ورود، تعریف نشان داده شده قبلی را به صورت زیر تغییر دهید:
...
این کد باعث می شود دو پیوند اضافی نمایش داده شود - به صفحه راهنما و صفحه ثبت نام اولیه و همچنین متن اضافه می کند. دستورالعمل های مختصرزیر عنوان عنصر ورود:
سبک هایی که قبلا توضیح داده شد برای این ویژگی ها نیز اعمال می شود. جدول زیر ویژگی های مهم برای پیکربندی کنترل ورود را توضیح می دهد:
متن پیام | |
TitleText | متن برای نمایش در عنوان کنترل |
InstructionText | این ویژگی قبلاً در قطعه کد قبلی استفاده شده است. حاوی متنی است که در زیر عنوان کنترل ظاهر می شود |
FailureText | اگر تلاش برای ورود ناموفق بود، متنی که توسط کنترل ورود به سیستم نمایش داده می شود |
UsernameLabelText | متن قبلاً به عنوان یک برچسب نمایش داده شده است فیلد متنینام کاربری |
PasswordLabelText | متن قبل از فیلد متن رمز عبور کاربر به صورت برچسب نمایش داده می شود |
نام کاربری | مقدار اولیه، که فیلد متنی نام کاربری را پر می کند |
UsernameRequiredErrorMessage | در صورت وارد نکردن نام توسط کاربر، پیغام خطا نمایش داده می شود |
PasswordRequiredErrorMessage | اگر کاربر رمز عبور را وارد نکرده باشد، پیام خطا نمایش داده می شود |
دکمه ورود | |
LoginButtonText | متن نمایش داده شده در دکمه ورود به سیستم |
LoginButtonType | |
LoginButtonImageUrl | اگر دکمه ورود به سیستم به عنوان یک تصویر گرافیکی ارائه می شود، باید URL محل قرارگیری تصویر را مشخص کنید |
صفحه ورود | |
DestinationPageUrl | اگر تلاش برای ورود موفقیت آمیز باشد، کنترل ورود کاربر را به این صفحه هدایت می کند. به طور پیش فرض، این ویژگی خالی است. در مقدار خالیاز چارچوب احراز هویت فرم ها برای تغییر مسیر به صفحه درخواستی اصلی یا URL پیش فرض پیکربندی شده در web.config برای احراز هویت فرم ها استفاده می کند. |
FailureAction | عملی را که کنترل پس از انجام آن انجام می دهد را مشخص می کند تلاش ناموفقورود. دو گزینه معتبر Refresh و RedirectToLoginPage هستند. مقدار اول فقط منجر به بروز رسانی می شود صفحه فعلیو دومی برای تغییر مسیر به صفحه ورود به سیستم پیکربندی شده. گزینه دوم در صورتی مفید است که کنترل Login در جایی غیر از صفحه ورود استفاده شود |
VisibleWhenLoggedIn | اگر روی false تنظیم شود، اگر کاربر قبلاً وارد شده باشد، کنترل به طور خودکار خود را پنهان می کند. اگر روی true (پیشفرض) تنظیم شود، عنصر Login نمایش داده میشود حتی اگر کاربر وارد شده باشد |
تنظیم تگ "مرا به خاطر بسپار". | |
DisplayRememberMe | به شما امکان می دهد کادر انتخاب دفعه بعد مرا به خاطر بسپارید را نشان دهید یا پنهان کنید. به طور پیش فرض این ویژگی روی true تنظیم شده است |
RememberMeSet | مقدار پیشفرض کادر انتخاب دفعه بعدی مرا به خاطر بسپار را تعیین میکند. به طور پیش فرض، این ویژگی روی false تنظیم شده است، i.e. چک باکس بررسی نشده است |
صفحه ثبت نام | |
CreateUserUrl | یک لینک به یک صفحه وب سایت تعریف می کند که به شما امکان ایجاد (ثبت نام) کاربر را می دهد. بنابراین معمولاً برای دسترسی کاربر به صفحه ثبت نام اولیه استفاده می شود. به طور معمول این کنترل CreateUserWizard را نمایش می دهد |
CreateUserText | |
CreateUserIconUrl | URL تصویر گرافیکی، همراه با متن هایپرلینک CreateUserUrl نمایش داده می شود |
صفحه راهنما | |
HelpPageUrl | URL برای هدایت کاربر به صفحه راهنما |
HelpPageText | |
HelpPageIconUrl | URL آیکونی که همراه با متن هایپرلینک HelpPageUrl ظاهر می شود |
صفحه بازیابی رمز عبور | |
PasswordRecoveryUrl | URL جهت هدایت کاربر به صفحه بازیابی رمز عبور. این صفحه زمانی استفاده می شود که کاربر رمز عبور را فراموش کرده باشد. معمولاً کنترل PasswordRecovery را نمایش می دهد |
PasswordRecoveryText | |
PasswordRecoveryIconUrl | نشانی اینترنتی نمادی که همراه با متن هایپرلینک PasswordRecoveryUrl ظاهر می شود |
همانطور که می بینید، تمام این ویژگی ها باعث می شود که کنترل Login بسیار قابل تنظیم باشد. اما همانطور که به احتمال زیاد متوجه شدید، تعریف هیچ عبارتی برای بررسی اعتبار ورودی غیرممکن است. البته، امکان اجرای اعتبار سنجی سمت سرور در رویه های رویداد ارائه شده توسط کنترل ورود وجود دارد. هنگامی که می خواهید برخی از عناصر را به کنترل ترکیبی Login اضافه کنید، نمی توانید این کار را از طریق ویژگی های ارائه شده در بالا انجام دهید. به عنوان مثال، اگر به یک فیلد متنی دوم نیاز دارید، چه میکنید احراز هویت قویبا رمز دوم یا کلید دسترسی سفارشی، همانطور که در برخی از سایت های دولتی انجام می شود؟
خوشبختانه، مانند سایر کنترل ها مانند GridView، عنصر Login از قالب ها پشتیبانی می کند. قالب ها به شما امکان می دهند محتوای کنترل ورود را بدون هیچ محدودیتی سفارشی کنید. می توانید هر کنترل جدیدی را به آن اضافه کنید. با استفاده از دسته LayoutTemplate، یک الگوی سفارشی را برای کنترل ورود به سیستم اعمال می کند:
ورود
نام کاربری: | |
کلمه عبور: |
اتصال به سیستم
|
user.aspx
کاربر
بهترین مقالات در این زمینه |