Упражнение 6 - Login Controls в ASP.NET


ASP.NET login контролите представляват едно решени за login в ASP.NET Web приложения без да се налага допълнително програмиране. По подразбиране login контролите се интегрират с ASP.NET membership и forms автентикацията за да автоматизират потребителска автентикация за уеб сайтовете. Допълнителна информация за това можете да намерите на Introduction to Membership.

Стандартно ASP.NET login контролите работят с обикновен текст, пренасян по HTTP. Когато е необходима сигурност използвайте HTTPS със SSL криптиране. Повече информация за SSL, вижте на Configuring SSL on a Web Server or a WebSite в документацията на IIS.


ASP.NET Configuration

Запознаване с ASP.NET Web Site Administration Tool и настройка на основни елементи на сигурността на вашия сайт.

Стартирайте го от менюто Website -> ASP.NET Configuration.

  • Създайте нов Web Site.
  • В раздел Security трябва да се настрои начина за достъп. За да се използва Forms Authentication, а не Windows Authentication, от радио-бутоните трябва да се извере начин за достъп: „From the internet” (За да потвърдите натиснете бутона Done).
  • От тук могат да се добавят и нови потребители. Добавете си няколко чрез „Create User”. Можете да видите броя на съществуващите потребители в колоната Users.

LoginView контрола

LoginView контролата дава възможност да се показва различна информация за анонимни и регистрирани потребители. Контролата показва един от двата шаблона: AnonymousTemplate или LoggedInTemplate. В тях може да се добави текст и контроли, които показват информация, предназначена съответно за анонимните и регистрираните потребители.

Контролата LoginView включва събития за ViewChanging и ViewChanged, които ви позволяват да въведете въведете код, изпълняващ се когато потребител се логва или променя състоянието си.

  • Поставете една LoginView контрола във вашата страница и добавете двата темплейта за нея:
<AnonymousTemplate>
</AnonymousTemplate>
<LoggedInTemplate>
</LoggedInTemplate>

Login контрола

Login контролата представлява потребителски интерфейс за идентификация на потребители. Тя съдържа текстови полета за потребителско име и парола и отметка, която позволява на потребителите да посочат дали искат сървърa да запази тяхната лична информация, използвайки ASP.NET membership и автоматично се идентифицират при следващо посещение на сайта.

Login контролата има свойства за персонализиране на изгледа и съобщенията, както и за връзките към други страници, на които потребителите могат да сменят паролата или да възстановят забравената си такава. Login контролата може да се използва като самостоятелен контрол на главната или началната страница или в отделна страница за вход.

Ако сте използвали Login контрола с ASP.NET membership, не е нужно да пишете код за изпълнение на автентикацията. Все пак, ако искате да създадете своя собствена логика за удостоверяване, можете да обработите Authenticate събитието на Login контролата със собствен потребителски код.

  • Добавете Login контрола (от ToolBox, раздел Login) към анонимния темплейт на на горната LoginView контрола.
  • Намерете свойствата които трябва да промените за да изпишете следния текст във вашата контрола – вместо UserName ->Име, вместо Password – Парола.
  • В LoggedInTemplate добавете поздравителен текст за потребителя.
  • Тествайте (CTRL+F5).

LoginStatus контрола

LoginStatus контролата показва линк за вход за потребители, които не са логнати и връзка за изход за удостоверени потребители. Линка за вход отвежда потребителя към страницата за вход. Връзката за изход ресетва самоличността на текущия потребител като анонимна.

Можете да настроите външния вид на LoginStatus контролата чрез задаването на LoginText и LoginImageUrl свойствата.

  • При поздравителния текст в LoggedInTemplate добавете и LoginStatus контрола. Това ще даде възможност на вашите потребители да могат да изпълняват операция Log out.

LoginName контрола

LoginName контролата показва потребителското имена потребителя, ако той е логнат.

  • В LoggedInTemplate променте поздравителен текст за потребителя така че да включва неговото име, т.е. добавете една LoginName контрола.

CreateUserWizard контрола

Контролата CreateUserWizard събира информация от потенциалните потребители. По подразбиране контролата CreateUserWizard добавя новия потребител в ASP.NET membership системата.

Контролата CreateUserWizard събира следната информация за потребителя:

  • Потребителско име.
  • Парола.
  • Потвърждение на паролата.
  • E-mail адрес.
  • Таен въпрос.
  • Таен отговор.

Тази информация се използва за идентификация на потребителите и възстановяване на потребителски пароли.

  • Добавете нова страница Register.aspx и в нея сложете CreateUserWizard контрола.
  • Login контролата има свойство CreateUserText, на което трябва да присвоите текст от сорта на „Регистрирай се”, и свойство CreateuserUrl, което трябва да свършете със страницата за създаване на нов потребител.
  • Тествайте (CTRL+F5).

ChangePassword контрола

ChangePassword контролата позволява на потребителите да сменят паролата си. Потребителят трябва първо да въведе оригиналната парола и след това да създаде и потвърди новата парола. Ако оригиналната парола е правилно въведена, потребителката парола се заменя с новата парола. Контролата поддържа и изпращане на съобщение по електронна поща за осъществената смяна.

ChangePassword контролата включва два шаблонни изгледа, които се показват на потребителя. Първият от тях е ChangePasswordTemplate, който показва потребителския интерфейс, използван за събиране на данните, необходими за промяна на потребителска парола. Вторият шаблон е SuccessTemplate, който се появява, след като потребителската парола е успешно променена.

Контролата работи както с потребители, преминали автентикация, така и с такива, които не са. Ако даден потребител не е логнат, контролата пита потребителя за неговото потребителско име.

  • Добавете нова страница ChangePass.aspx и в нея сложете ChangePassword контрола.
  • В LoggedInTemplate добавете линк към страницата за промяна на паролата.
  • Тествайте (CTRL+F5).

Достъп до контролите

Добавете Label контрола в LoggedInTemplate на вашата LoginView1 контрола. Ако искаме ръчно да изпишем в него името на потребителя може да използваме следния код:



Върни се в началото

Designed by инж. Антония Ташева