ІНФОРМАЦІЯ: Огляд функцій безпеки ASP.NET

Переклади статей Переклади статей
Номер статті: 306590 - Показ продуктів, яких стосується ця стаття.
Ця стаття відноситься до наступних Microsoft .net Рамках клас бібліотечного простору імен:
  • System.Web.Security
  • System.Web.Principal
Розгорнути все | Згорнути все

На цій сторінці

ПІДСУМКИ

Ця стаття являє собою введення в ASP.NET безпеки.

Додаткові огляди ASP.NET зверніться до таких Статті бази знань Microsoft Knowledge Base:
305140 ІНФОРМАЦІЯ: ASP.NET Дорожня карта

ДОДАТКОВІ ВІДОМОСТІ

ASP.net дає змогу керувати реалізувати безпеки для застосування. Безпеки ASP.net працює разом з Microsoft інформаційних служб Інтернету Безпека (Інтернету IIS) і включає в себе автентифікації та авторизації послуг реалізувати модель безпеки ASP.NET. ASP.net також включає в себе роль основі Функція безпеки, які можна реалізувати для обох Windows і облікові запис А бізнес-партнера користувачів не Windows.

Ця стаття поділяється на такі розділи:

Потік безпеки з проханням

Наступні кроки окреслити послідовність подій, коли клієнт робить запит:
  1. Клієнт просить ASPX-сторінки, яка проживає на в IIS сервер.
  2. Клієнта облікові дані передаються до IIS.
  3. IIS засвідчує клієнта і вперед на перевірку автентичності маркер разом з запитом клієнта до ASP.NET робочий процес.
  4. На основі автентифікованих маркер з IIS і на параметри конфігурації для веб-додатків, ASP.NET вирішує чи уособлення користувача в потоці, який обробляє запит. В на окремі Різниця між Microsoft Active Server сторінки (ASP) і ASP.NET, ASP.NET немає більше impersonates автентифікованих користувачів за промовчанням. Щоб увімкнути уособлення, Ви повинні встановити видавати себе за атрибутом ідентичності розділу у файлі web. config, True.
Щоб отримати додаткові відомості про безпеку потік, зверніться до на Наступна тема в .NET Framework Підтримка програмного забезпечення розвитку Kit (SDK) документації:
потік даних ASP.net
ASPX http://MSDN.Microsoft.com/EN-US/Library/xa68twcb (vs.71)
Щоб отримати додаткові відомості про видає себе в ASP.NET, клацніть номер статті в Microsoft Knowledge Base:
306158 ІНФОРМАЦІЯ: Реалізація уособлення в застосунку ASP.NET

Відповідні параметри конфігурації

IIS зберігає параметри настройки, пов'язані з безпекою в IIS метабази. Однак, ASP.NET підтримує безпеки (та інші) конфігурації Параметри у файли конфігурації розширюваною мовою розмітки (XML). Хоча це зазвичай спрощує розгортання додатків з безпеки точки зору, вимагає модель захисту, яка приймає вашу заявку на правильні установки метабази IIS і ASP.NET застосування через його конфігураційний файл (Web. config).

Такі Конфігурація розділів пов'язані з ASP.NET безпеки:

Перевірка автентичності

Автентифікація є процес, за допомогою якого ви отримати ідентифікації облікові дані, наприклад, ім'я користувача і пароль і перевірити ці облікові дані проти деяких влади.

ASP.net надає чотири автентифікації служби доступу:

Форм Перевірка автентичності

Форм аутентифікації відноситься до системи, у якій непідтвердженими запити перенаправлено на мови розмітки гіпертексту (HTML) форму, в якій користувачів введіть свої облікові дані. Після того, як користувач надає облікові дані і представляє форми, застосування засвідчує прохання і питання, що система є Авторизація квиток у вигляді cookie. Цей файл cookie містить на облікові дані або ключ до reacquire особистості. Подальші запити від на браузер автоматично включати cookie.

Для отримання додаткової інформації про Форм аутентифікації, зверніться до наступних тема в .NET Framework SDK документації:
Форм Перевірка автентичності постачальника
ASPX http://MSDN.Microsoft.com/EN-US/Library/907hb5w9 (vs.71)
Для Додаткові відомості про форм аутентифікації в ASP.NET, клацніть статтю номер статті в базі знань Microsoft Knowledge Base:
301240 ЯК: Здійснювати на основі форм аутентифікації в вашої програми ASP.NET, використовуючи C# .net

Автентифікація Windows

У Windows автентифікації, IIS виконує автентифікацію, і перевірку автентичності маркер пересилається ASP.NET робочий процес. Переваги сценарій виконання Windows Перевірка автентичності, в тому, що це вимагає, мінімальний двопрохідне кодування. Ви можете використовувати Windows Автентифікація видавати себе за обліковий запис А комп'ютера користувача Windows, який засвідчує IIS Перш ніж ви руки з проханням ASP.NET.

Для отримання додаткової інформації про перевірку автентичності Windows зверніться до таких тема в .net Рамках SDK документації:
постачальник послуг оренди застосунків WindowsAuthenticationModule
ASPX http://MSDN.Microsoft.com/EN-US/Library/907hb5w9 (vs.71)

Паспорт автентифікації

Паспорт автентифікації є централізованої автентифікації обслуговування, Microsoft надає, що пропонує єдиного входу та основний маркер профіль служби член сайтів. Як правило, паспорт автентифікації використовується, коли потрібно єдиний вхід за можливості через кілька доменів.

Для більш інформацію про паспорт автентифікації, зверніться до наступних тема в регіоні .NET Framework SDK документації:
Паспорт перевірки автентичності постачальника
ASPX http://MSDN.Microsoft.com/EN-US/Library/f8e50t0f (vs.71)

Автентифікація за промовчанням

Автентифікація за промовчанням використовується, коли ви не хочете, щоб будь-який безпеки на веб-додаток; анонімний доступ не потрібно для цього безпеки постачальника послуг. Серед всіх провайдерів перевірки автентичності забезпечує автентифікація за промовчанням Максимальна продуктивність для вашого застосування. Ця служба автентифікації є також використовується, коли ви використовуєте ваш власний безпеки модуля.

Авторизація

Авторизація це процес, який перевіряє, якщо на перевірку автентичності користувач має доступ до запитаного ресурсів.

ASP.net пропонує на Після авторизації провайдерів:

FileAuthorization

FileAuthorizationModule клас виконує файл авторизація і є активним під Вільний час сценарій виконання Перевірку автентичності Windows. FileAuthorizationModule є відповідальним за проведення перевірок на Windows керування доступом Списки (ACL), щоб визначити, чи користувач повинен мати доступ.

UrlAuthorization

UrlAuthorizationModule клас виконує авторизації Уніфікований покажчик ресурсу (URL), який керує авторизації на основі URI простору імен. Може бути URI простори імен абсолютно відрізняється від фізичного каталог вхідних повідомлень і файл контури що дозволи NTFS сценарій виконання.

UrlAuthorizationModule реалізує обох позитивних і негативних авторизації тверджень; тобто, можна використовувати модуль вибірково дозволити або заборонити доступ до довільний частин URI імен користувачів, ролі (наприклад, Диспетчер, тестери і адміністраторів) і дієслова (наприклад, GET та POST).

Для Додаткові відомості про авторизацію в ASP.NET, зверніться до наступних тему в .NET Framework SDK документації:
ASP.net авторизації
ASPX http://MSDN.Microsoft.com/EN-US/Library/wce3kxhd (vs.71)

На базі ролей безпеки

На базі ролей безпеки в ASP.NET схожий на основі ролі безпеки, які використовують Microsoft COM+ і сервер Microsoft транзакцій (МТС), Хоча існують важливі відмінності. На базі ролей безпеки в ASP.NET, не є обмежені облікові запис А бізнес-партнера Windows і груп. Наприклад, якщо автентифікація Windows і уособлення увімкнуто, ідентифікації користувача Windows ідентичності (User.Identity.Name = "Домен"). Ви можете перевірити посвідчення для членство в конкретні ролі та обмеження доступу відповідно. Для Приклад:

Код Visual Basic .net
If User.IsInRole("BUILTIN\Administrators") Then
   Response.Write("You are an Admin")
Else If User.IsInRole("BUILTIN\Users") then
   Response.Write("You are a User")
Else
   Response.Write("Invalid user")
End if
				
Visual C# .net код
if ( User.IsInRole("BUILTIN\\Administrators"))
   Response.Write("You are an Admin");
else if (User.IsInRole("BUILTIN\\Users"))
   Response.Write("You are a User");
else
   Response.Write("Invalid user");
				
Якщо використовується автентифікація форми, ролі не призначаються на автентифікованих користувачів; Ви повинні зробити це програмним способом. Призначити ролі в перевірку автентичності користувача, сценарій виконання OnAuthenticate подія модуля автентифікації, (що є форм Модуль перевірки автентичності в цьому прикладі) створити новий об'єкт GenericPrincipal і призначити його користувацьких властивостей на HttpContext. Наведений нижче код ілюструє це:

Код Visual Basic .net
Public Sub Application_AuthenticateRequest(s As Object, e As EventArgs)
   If (Not(HttpContext.Current.User Is Nothing)) Then
      If HttpContext.Current.User.Identity.AuthenticationType = "Forms" Then
         Dim id as System.Web.Security.FormsIdentity = HttpContext.Current.User.Identity
         Dim myRoles(3) As String
         myRoles(0)= "managers"
         myRoles(1)= "testers"
         myRoles(2)= "developers"
         HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id,myRoles) 
      End If
   End If
End Sub
				
Visual C# .net код
public void Application_AuthenticateRequest(Object s, EventArgs e)      
{
   if (HttpContext.Current.User != null)
   {
      if (HttpContext.Current.User.Identity.AuthenticationType == "Forms" ) 
      {
         System.Web.Security.FormsIdentity id = HttpContext.Current.User.Identity;
         String[] myRoles = new String[3];
         myRoles[0]= "managers";
         myRoles[1]= "testers";
         myRoles[2]= "developers";
         HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id,myRoles);
      }
   }
} 
				
Щоб перевірити, якщо користувач знаходиться в ролі та обмеження доступу відповідно, використовуйте наступний код (або аналогічний) в ASPX-сторінки:

Код Visual Basic .net
If User.IsInRole("managers") Then
   Response.Write("You are a Manager")
Else If  User.IsInRole("testers") Then
   Response.Write("You are a Tester")
Else If User.IsInRole("developers") Then
   Response.Write("You are a Developer")
End if
				
Visual C# .net код
if (User.IsInRole("managers"))
   Response.Write("You are a Manager");
else if (User.IsInRole("testers"))
   Response.Write("You are a Tester");
else if (User.IsInRole("developers"))
   Response.Write("You are a Developer");
				
Щоб отримати додаткові відомості клацніть статтю номер статті в базі знань Microsoft Knowledge Base:
306238 ЯК: Реалізувати на базі ролей безпеки з автентифікацію на основі форм у застосунку ASP.NET, за допомогою Visual Basic .net
Докладніше на основі ролі безпеки зверніться до таких теми в .NET Framework SDK документації:
На базі ролей безпеки
ASPX http://MSDN.Microsoft.com/EN-US/Library/52kd59t0 (vs.71)

ПОСИЛАННЯ

Інформацію про керівні принципи безпеки ASP.NET, дивіться на MSDN документ:
Автентифікації в ASP.NET: посібник з безпеки .net
http://MSDN.Microsoft.com/EN-US/Library/ms978378.aspx
Щоб отримати більш загальну інформацію про ASP.NET, зверніться до на Наступні MSDN груп новин:
Microsoft.Public.DOTNET.Framework.aspnet
Щоб отримати додаткові відомості клацніть статтю номер статті в базі знань Microsoft Knowledge Base:
311094 Помилка: протокол IMAP про помилку "ConfigurationException", коли Impersonated рахунків читання конфігурації
306359 PRB: Request.ServerVariables("LOGON_USER") повертає пустий рядок в ASP.NET
313091 ЯК: Створення розділів за допомогою Visual Basic .net для сценарій виконання у формах автентифікації
313116 PRB: Форми запити перевірки автентичності не націлені на loginUrl сторінку
Докладніше перегляньте наступні книги:
Райлі, Douglas J. Проектування додатків Microsoft ASP.NET. Microsoft прес, 2001.

Еспозіто, Діно.Будівництво веб-рішень з ASP.NET і ADO.NET. Microsoft прес, 2001.

Властивості

Номер статті: 306590 - Востаннє переглянуто: 28 червня 2012 р. - Редакція: 1.0
ЗАСТОСОВУЄТЬСЯ ДО:
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
Ключові слова: 
kbproductlink kbarttyperoadmap kbconfig kbinfo kbsecurity kbweb kbmt KB306590 KbMtuk
Машинний переклад
УВАГА! Цю статтю переклала програма машинного перекладу Microsoft, а не людина. Корпорація Microsoft пропонує вам як машинні переклади, так і переклади фахівців, щоб Ви мали доступ до всіх статей бази знань рідною мовою. Проте стаття, яку переклав комп’ютер, не завжди бездоганна. Вона може містити лексичні, синтаксичні або граматичні помилки. Так само помиляється іноземець, спілкуючись вашою рідною мовою. Корпорація Microsoft не несе відповідальність за жодні неточності, помилки або шкоду, завдану неправильним перекладом змісту або його використанням з боку користувачів. Крім того, корпорація Microsoft часто оновлює програму машинного перекладу.
Клацніть тут, щоб переглянути цю статтю англійською мовою: 306590

Надіслати відгук

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com