Реклама:

идентификаторе аутентификации IIS (которая используется модулем FileAuthori-zation Module);

эффективном контексте защиты (используемом для получения доступа к ресурсам и определяемом настройками олицетворения).

Было бы хорошо иметь диагностическое средство, отображающее все эти идентификаторы и их изменения в соответствии с конфигурацией.

В приведенной далее странице учтены все эти рекомендации. Поместите ее в папку своего приложения. (На Web-сайте данной книги вы найдете более расширенную версию страницы ShowContexts, которая также содержит информацию о конфигурировании аутентификации с учетом сертификатов клиентов и провайдеров.)

Справочная страница ShowContexts

<ЧШ Page Language="C#" %>

<Ш Import NaiT'espace="Systerr,. Security. Principal" %> <%@ Import Namesp8ce="System.Threading" %>

<!D0CTYPE html PUBLIC "-//W3C//CTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml 1-transitional.dtd">

<html xmins="http://www.w3.org/1999/xhtml" > <head rjnat="server">

<title>ASP.NET Security Contexts</title> </head>

<pody style="font-family:Arial"> <form id="form1" runat="server"> <div>

<ti2>Process Identity</h2>

<br /> <«

using

(WindowsImpersonationContext wie = Windowsldentity.Impersonate(IntPtr.Zero))

{

Response. Wri t e(WmdowsIdentity. GetCur rent (). Naitio):

>

<h2>E?fective Security Context</h2>

<br />

<%= WindowsTdentLty.Gel Cur rent().Name %> <br />

<ri2>IIS Autbentication</h2>

<br />

<%= Request.LogonUserldentity.Name %> <br />

<rt2>Cont9xt.User</h2>

<br />

<b>Name:</b>

<%= Context.Use'.Identity.Name %> <br />

<b>IsAuthenticated:</b>

<%= Context.User.Identity.IsAuthonticated %> <br />

<b>Authontication Typo:</b >

<%= Context.User.Identity.AuinentScatLonType %>

<br />

<n2>Thread.CurrentPrlncipal</h2>

<br /> <b>Name:</b>

<%= Thread.Cur rent Principal.Identity. Name %> <br />

<b>IsAutbenticated:</b>

<*= Thread. Cur rent Principal. Identity. IsAuthenticated %> <br />

<b>Autnentication Type:</b>

<%= Thread.Cur rent Principal.Identity.AuthenticationType %> </div> </rorm> </body> </ntm]>

Теперь давайте рассмотрим несколько распространенных сценариев конфигурации и полученные выходные данные этой страницы.

■ Анонимная и интегрированная аутентификация в IIS без настроек авторизации в ASP.NET:

Process Identity

NT AUTHORITY\NETWuRK SERVICE

Effective Security Context

NT AUTHORITY\NETWORK SERVICE

IIS Authentication

IUSR_MACHINENAME

Context.User

Name:

IsAuthenticated: False Authentication Type: Thread.Cur rentPrincipal

Name:

IsAuthenticated: False Authentication Type:

• Только интегрированная аутентификация:

Process Identity

NT AUTH0RITY\NEIWORK SERVICE


⇐ Предыдущая страница| |Следующая страница ⇒