Authentication - всичко това, и програмиране
СЪДЪРЖАНИЕ
![Authentication - всичко това, и програмиране (asax защитена недействителни) Authentication - всичко това, и програмиране](https://webp.images-on-off.com/25/171/434x308_ruta8nlirx4c2mpya5cv.webp)
ASP.NET изпълнява уеб-заявление по сметката ASPNET. Това означава, че когато задачата не е предвидено привилегии на потребителя (например, за написването на файла на диска), приложението е отказан достъп.
Удостоверяване на потребителя се използва в случаите, когато трябва да се осигури достъп до части от уеб -applications само за определени потребители. Това може да бъде -Магазини Интернет, форуми, затворени участъци в корпоративния интранет сайта на изложба и така нататък.
Сигурността в приложения ASP.NET, основани на три операции:
на стандартния тип удостоверяване на Windows. Стойност Нито има смисъл да се създаде един режим за частно удостоверяване или анонимен достъп (за повишаване на производителността).
AutentifikatsiyaWindows
Има 4 вида удостоверяване на Windows. обикновена (основен), резюме (храносмилане), построен (integated) и въз основа на клиент SSL сертификати. Обикновена и стегнат удостоверяване използва за идентифициране на потребителското име и паролата се въвежда в диалоговия прозорец. Те работят добре в интернет. тъй като данните се предават през HTTP. Удостоверяване на базовите предава потребителско име и парола, кодиран Base 64, която е лесно да се декодира. За да се повиши сигурността, можете да използвате основна идентификация с SSL. Удостоверяване на базовите се поддържа от повечето браузъри.
Бързо разпознаване е по-сигурно, защото паролата е криптирана с помощта на алгоритъма MD 5. Той е подкрепен от браузърите Internet Explorer 5.0 или по-висока, или да бъдат инсталирани на клиентската машина. NET Framework. В допълнение, потребителски акаунти трябва да се съхраняват в Active Directory.
Интегрирана удостоверяване се използва за удостоверяване на Windows и не може да се приложи към профили в интернет. защото на клиента и сървъра трябва да преминат тест контролер на домейн. В една и съща парола за мрежата не се предават, което увеличава сигурността на приложението. Този тип удостоверяване блокиран от защитна стена, и работи само с Internet Explorer. Интегрирана удостоверяване е малко по-бавно, отколкото в основата, или по-малко.
Използването на SSL сертификати, също е обикновено се използва в интранет. защото Тя изисква разпространение на цифрови сертификати. При този вид удостоверяване, потребителите не трябва да се регистрират. Сертификатите могат да бъдат сравнени с потребителски профили в един домейн или Active Directory.
По-долу са стъпките за уточняване метод за идентификация:
1. Започнете IIS мениджър
2. Щракнете с десния бутон на заявлението и изберете Свойства от контекстното меню.
3. В диалоговия прозорец, отидете на раздела Защита Directory и кликнете върху Редактиране под Анонимен достъп и контрол за удостоверяване.
![Authentication - всичко това, и програмиране (.net) Authentication - всичко това, и програмиране](https://webp.images-on-off.com/25/171/434x433_7doexsos2y6ehdcapc1q.webp)
4. В диалоговия прозорец за удостоверяване методи, посочете вида на удостоверяване.
![Authentication - всичко това, и програмиране (.net) Authentication - всичко това, и програмиране](https://webp.images-on-off.com/25/171/371x432_wu9c42aqkiq803mu0f04.webp)
5. Посочете правата за достъп до папки или отделни файлове в папката на уеб приложения. Бъдете сигурни, за да се позволи достъп за потребителя ASPNET.
![Authentication - всичко това, и програмиране (входната страница парола) Authentication - всичко това, и програмиране](https://webp.images-on-off.com/25/171/434x276_4q0cg4pj8mj4azgyklmk.webp)
В този случай, за да се позволи достъп до ДЕНИС и отказва достъп на всички останали. Вместо това, името на потребителя може да бъде името на ролята, до която потребителите принадлежат - администратори и мениджъри.
Ако искаме да се защити само един файл (например, за да се потвърди заповедта в Интернет магазин), а след това на web.config в главната папка, трябва да добавите следните редове:
Прилагането извлича данните на потребителя с помощта на идентичност собственост на клас ползвателя. Този имот се връща обект, който съдържа потребителско име и роля.
BOOL заверен = User.Identity.IsAuthenticated;
низ с името = User.Identity.Name;
BOOL администратор = User.IsInRole ( "администратори");
Форми на автентичност
При използване на формуляри регистрация параметри искане за удостоверяване (например, потребителско име и парола) се появява в уеб-форма. Страницата за регистрация е посочен във файла Web.config. Първият път, ASP.NET страниците на защитените пренасочва потребителя към страница, за да въведете парола. При успешно регистриране на данните за удостоверяване се съхранява в бисквитка, и не е необходимо повторно лечение с регистрацията на тези страници.
За да използвате Форми на автентичност в досието Web.config в главната папка на молбата трябва да посочите страницата, за да въведете паролата:
![Authentication - всичко това, и програмиране (Global asax защитена) Authentication - всичко това, и програмиране](https://webp.images-on-off.com/25/171/434x213_sj1f87t5evlwjarmnoqe.webp)
Във формуляра включва полета за въвеждане на потребителско име и парола, както и чек за съхранения регистрацията. Когато натиснете "Enter", потребителят търси с такава парола и потребителско име. Ако не се намери един потребител, наречена функция FormsAuthentication.RedirectFromLoginPage (), в който се посочва потребителско име и знаме се съхраняват за регистрация. Ако не - ще получите съобщение за грешка.
защитени невалидни btnLogin_Click (обект подател, System.EventArgs д)
<
ако (! IsValid) // проверява точността на въведените данни
се върне;
OleDbConnection връзка = GetDbConnection ();
OleDbCommand команда = нов OleDbCommand (string.Format ( "SELECT ID от клиенти КЪДЕ вход = '' и парола = ''", вход, парола), връзка);
OleDbDataReader четец = command.ExecuteReader ();
ако (! reader.Read ()) // грешна парола или потребителско име
<
lblError.Text = "Невалидна парола - Моля, опитайте отново";
се върне;
>
низ ID = върне reader.GetInt32 (0) .ToString ();
FormsAuthentication.RedirectFromLoginPage (Id, chkbRememberLogin.Checked);
>
улова (OleDbException ех)
<
lblError.Text = "Database Error";
>
накрая
<
connection.Close ();
>
>
Удостоверяване на базата на роли
За удостоверяване на базата на роля атрибут се прилагат роли позволяват маркер. Например, ако искаме да откаже достъп до всичко, но членовете на групата Admin. ние трябва да въведете следните редове във файла Web.config.
След това, за всяка заявка трябва да свържете потребителски профили и роли. Обикновено това се прави в манипулатор AuthenticateRequest събитие във файла Global.asax.
защитени невалидни Application_AuthenticateRequest (подател на обекта, EventArgs д)
<
HttpApplication Appl = (HttpApplication) подател;
ако (appl.Request.IsAuthenticated appl.User.Identity е FormsIdentity)
<
FormsIdentity идентичност = (FormsIdentity) appl.User.Identity;
DataTable tblUsers = (DataTable) Прилагане [ "UsersTable"];
appl.Context.User = нов GenericPrincipal (идентичност,
нов низ []);
>
>
Кодът проверява тип разпознаване на потребителя, както и че вече е регистрирано. Прякор се извлича от бисквитка Наименование собственост. Таблица с потребителски имена и роли, за да подобрите ефективността е била поддържана в обекта за кандидатстване. От тази таблица и ние откриваме ролята на потребителя, която се съхранява в обекта GenericPrincipal.
Настройки за удостоверяване
Ако втората функция на параметъра RedirectFromLoginPage () е невярно. Докато животът на сесийна. генерирана от ASP.NET. равна на стандартната на 30 минути. За да промените този интервал е параметър за времето за изчакване форми Web.config маркер по делото. Задайте времето на стъпки за удостоверяване в 03:00.
authentication>
Когато сесийна се връща в следния вписване на искането, се обновява автоматично, ако е изтекъл срока на повече от половината. Време е спасил живота бисквитка е на 50 години.
Можете да укажете името на бисквитката удостоверяване. поставянето му в атрибута име (името по подразбиране - ASPXAUTH):
authentication>
По подразбиране autentifikatsonnye бисквитка е криптирана и проверена. Нивото на защита може да бъде определен чрез атрибута защита. Всички стойност е по подразбиране. Значение Validation изисква само от бисквитка. Криптирате и стойност - само криптиране. Забраните напълно защита, можете да зададете стойност Няма. Изключване на защита има смисъл, ако данните се изпращат през HTTPS.
authentication>
Reset форми на автентичност
Възстановяване на регистрацията може да се види на много места. FormsAuthentication.SignOut () метод се използва за нулиране на автентичността. Той определя датата на изтичане на бисквитката на изминалото време и бисквитката се унищожава автоматично.
паспорт автентификация
Паспорт автентификация, потребителите могат да влизат в различни уеб-сайтове, използващи единна идентичност Microsoft Passport услуги. Това освобождава потребителя от регистрацията на всяко място, а самите сайтове да получават информация за потребителския профил съхранява Microsoft.
![Authentication - всичко това, и програмиране (ASP) Authentication - всичко това, и програмиране](https://webp.images-on-off.com/25/171/326x308_klckpzss98g6yk347v5f.webp)
За да използвате Passport автентикация в уеб-базирани приложения, трябва да инсталирате Passport SDK. Паспорт SDK е безплатна за тестване, но за търговски цели на сайта е необходимо да получат лиценз.
При достъп до заявлението с проверките на паспорт за удостоверяване на данни бисквитка с паспорт. Ако не съществува такъв файл, потребителят е пренасочен към страницата за регистрация на паспорт.
За да включите този режим удостоверяване в уеб файла. довереник трябва да се уточни следното:
Получаване на достъп до информация за вас, можете да използвате събития PassportAuthentication _ OnAuthenticate във файла Global.asax.
защитени невалидни PassportAuthentication_OnAuthenticate (подател на обекта, PassportAuthenticationEventArgs д)
System.Web.Security.PassportIdentity ID = e.Identity;
ако (id.IsAuthenticated)
Сесия [ "PassportID"] = e.Identity.Name;
Сесия [ "Наименование"] = e.Identity [ "FirstName"] + e.Identity [ "LastName":];
Сесия [ "имейл"] = e.Identity [ "PrefferedEmail"];
>
>
• Изтегляне на източник - 3.45 KB • Изтегляне на тест - 1.08 KB Не забравяйте, че уеб услугата - е само средство. Има много други инструменти, като HTTPService, отдалечена комуникация и др Flex. Г. В Flex помогне на HTTPService с ASP.NET статия за CodeProject показва как да използвате шнур таг Ако уеб приложение, което се позовава на много услуги и изтегляне на голямо количество данни на всяка страница с много фонови изчисления от базата данни, спирачки - нещо трябва да се направи: 1. HTTP компресия HTTP компресия компресира съдържанието на страницата на сървъра. Тя компресира искания HTTP и отговорите, които значително подобрява Pro.