Удостоверяване на приложението

приложението

Типът удостоверяване по подразбиране е Windows. Има смисъл да го зададете на Няма, ако използвате своя собствена схема за удостоверяване или анонимен достъп (за по-добра производителност). Windows удостоверяване. Има 4 вида удостоверяване на Windows: основно (basic), дайджест (digest), вградено (integated) и базирано на SSL клиентски сертификати. Основното и обобщеното удостоверяване се използват за удостоверяване на потребителското име и паролата, предоставени в диалоговия прозорец. Те работят добре в Интернет, защото данните се изпращат през HTTP. Основното удостоверяване предава паролата и потребителското име в кодиране Base 64, което е лесно за декодиране. За да подобрите сигурността, можете да използвате основно удостоверяване във връзка със SSL. Основното удостоверяване се поддържа от повечето браузъри. Дайджест удостоверяването е по-сигурно, защото паролата е криптирана с помощта на алгоритъма MD 5. Поддържа се от Internet Explorer 5.0 и по-нова версия или трябва да бъде инсталирана на клиентската машина. NET рамка. Освен това потребителските акаунти трябва да се съхраняват в Active Directory. Интегрираното удостоверяване се използва за удостоверяване на акаунти в Windows и не може да се използва в Интернет, тъй като клиентът и сървърът трябва да бъдат удостоверени от домейн контролера. В същото време паролите не се предават по мрежата, което повишава сигурността на приложението. Този тип удостоверяване се блокира от защитни стени и работи само с Internet Explorer. Вграденото удостоверяване е малко по-бавно от Basic или Digest. Използването на SSL сертификати също се използва често в интранет мрежи, като изисква разпространение на цифрови сертификати. При този тип удостоверяване потребителите не трябва да се регистрират. Сертификатиможе да се съпостави с потребителски акаунти в домейн или Active Directory.

За да посочите метода за удостоверяване, направете следното: 1. Стартирайте IIS Manager 2. Щракнете с десния бутон върху приложението и изберете Свойства от контекстното меню. 3. В диалоговия прозорец, който се показва, отидете в раздела Защита на директорията и щракнете върху бутона Редактиране в секцията Анонимен достъп и удостоверяване.

достъп

4. В диалоговия прозорец Методи за удостоверяване посочете типа удостоверяване.

парола

5. Задайте права за достъп до папката или отделни файлове в папката на уеб приложението. Не забравяйте да разрешите достъп на потребителя на ASPNET.

приложението

В този случай достъпът е разрешен за потребител DENIS и достъпът е отказан за всички останали. Вместо потребителско име може да има и името на ролята, към която принадлежат потребителите - администратори, мениджъри, ...:

Ако искаме да защитим само един файл (например за потвърждение на поръчка в интернет магазин), тогава в Web.config трябва да се добавят следните редове от основната папка:

Приложението извлича потребителски данни, използвайки свойството Identity на потребителския клас. Това свойство връща обект, съдържащ потребителското име и ролята.

bool authenticated = User.Identity.IsAuthenticated; име на низ = User.Identity.Name; bool admin = User.IsInRole("Администратори");

Формуляри за удостоверяване

Когато използвате удостоверяване с формуляри, заявката за параметри за регистрация (например потребителско име и парола) се появява в уеб формуляр. Страницата за регистрация е посочена във файла Web.config. При достъп до защитени страници за първи път ASP.NET пренасочва потребителя към страница за въвеждане на парола. При успешна регистрация данните за удостоверяване се съхраняват под формата на бисквитка и приповторен достъп до защитени страници не е необходима регистрация. За да използвате удостоверяване с формуляри във файла Web.config в основната папка на приложението, трябва да посочите страницата за въвеждане на паролата:

трябва

Формата съдържа полета за въвеждане на потребителско име и парола и поле за отметка за запазване на регистрацията. При натискане на бутона "Вход" се търси потребител с такова име и парола. Ако бъде намерен такъв потребител, се извиква функцията FormsAuthentication.RedirectFromLoginPage(), която указва потребителския идентификатор и флаг за постоянно влизане. Ако не, се показва съобщение за грешка.

protected void btnLogin_Click(object sender, System.EventArgs e) < if (!IsValid) // проверка дали въведените данни са правилни return;

OleDbConnection връзка = GetDbConnection();

Команда OleDbCommand = нова OleDbCommand(string.Format("SELECT ", вход, парола), връзка);

OleDbDataReader reader = command.ExecuteReader(); ако (!reader.Read()) // паролата или данните за влизане са неправилни < lblError.Text = "Грешна парола - моля опитайте отново"; връщане; >

низ > FormsAuthentication.RedirectFromLoginPage(id, chkbRememberLogin.Checked); > catch (OleDbException ex) < lblError.Text = "Грешка в базата данни"; > накрая < връзка.Затвори(); > >

Ролеви автентификации

След това трябва да свържете потребителски акаунти и роли с всяка заявка. Това обикновено се прави в манипулатора на събития AuthenticateRequest във файла Global.asax.

protected void Application_AuthenticateRequest(Object sender, EventArgs e) < HttpApplication appl = (HttpApplication)изпращач;

Кодът проверява типа удостоверяванепотребител и че вече е регистриран. Потребителското име се извлича от бисквитката чрез свойството Name. Таблица с потребителски имена и техните роли е съхранена в обекта Application за подобряване на производителността. От тази таблица намираме потребителската роля, която съхраняваме в обекта GenericPrincipal.

Опции за удостоверяване

Когато сесийна бисквитка се върне при последващи заявки след регистрация, тя се актуализира автоматично, ако времето на живот е повече от половината. Животът на запазените бисквитки е 50 години. Можете да посочите името на бисквитката за удостоверяване, като я поставите в атрибута name (името по подразбиране е ASPXAUTH):

По подразбиране бисквитките за удостоверяване са криптирани и проверени. Нивото на защита може да бъде указано чрез атрибута за защита, който по подразбиране е Всички. Стойността Validation указва само валидиране на бисквитки, докато стойността Encript указва само криптиране. Можете напълно да деактивирате защитата, като посочите стойността None. Има смисъл да деактивирате защитата, ако данните се предават чрез HTTPS протокол.

Нулиране на удостоверяването на формуляри

Нулиране на регистрация може да се види на много сайтове. Методът FormsAuthentication.SignOut() се използва за нулиране на удостоверяването. Той задава датата на изтичане на бисквитката в минало време и бисквитката се унищожава автоматично.

Удостоверяване на паспорта

приложението

За да използвате Passport удостоверяване в уеб приложение, трябва да инсталирате Passport SDK. Passport SDK е безплатен за тестване, но търговската употреба на сайта изисква лиценз. При достъп до приложение с удостоверяване на Passport се проверява наличието на бисквитка с данни на Passport. Ако няма такъв файл, потребителят се пренасочва към страницата за регистрацияПаспорт. За да активирате този режим на удостоверяване в мрежата. config трябва да посочите следното: