Поделиться через


DefaultAuthenticationEventArgs(HttpContext) Конструктор

Определение

Инициализирует новый экземпляр класса DefaultAuthenticationEventArgs.

public:
 DefaultAuthenticationEventArgs(System::Web::HttpContext ^ context);
public DefaultAuthenticationEventArgs (System.Web.HttpContext context);
new System.Web.Security.DefaultAuthenticationEventArgs : System.Web.HttpContext -> System.Web.Security.DefaultAuthenticationEventArgs
Public Sub New (context As HttpContext)

Параметры

context
HttpContext

Контекст события.

Примеры

В следующем примере кода событие DefaultAuthentication_OnAuthenticate используется для проверки того, User равно nullли свойство текущего HttpContext объекта . Если свойство имеет значение null, в примере свойству User текущего HttpContext присваивается объект , GenericPrincipal где Identity свойство GenericPrincipal объекта является GenericIdentity объектом со значением Name свойства default.

Примечание

Событие DefaultAuthentication_OnAuthenticate возникает перед событием AuthorizeRequest . В результате, если задать User для свойства текущего HttpContext идентификатора пользовательское удостоверение, это может повлиять на поведение приложения. Например, если вы используете FormsAuthentication класс и гарантируете, что только пользователи, прошедшие проверку подлинности, имеют доступ к сайту, используя authorization раздел и указав <deny users="?" />, элемент в этом примере будет deny игнорироваться, так как у пользователя будет имя " default". Вместо этого необходимо указать <deny users="default" /> , чтобы доступ к сайту могли получить только пользователи, прошедшие проверку подлинности.

public void DefaultAuthentication_OnAuthenticate(object sender,
                                                 DefaultAuthenticationEventArgs args)
{
  if (args.Context.User == null)
    args.Context.User = 
      new System.Security.Principal.GenericPrincipal(
        new System.Security.Principal.GenericIdentity("default"),
        new String[0]);
}
Public Sub DefaultAuthentication_OnAuthenticate(sender As Object, _
                                                args As DefaultAuthenticationEventArgs)
  If args.Context.User Is Nothing Then
    args.Context.User = _
      new System.Security.Principal.GenericPrincipal( _
        new System.Security.Principal.GenericIdentity("default"), _
        new String(0) {})
  End If
End Sub

Комментарии

Объект DefaultAuthenticationModule создает DefaultAuthenticationEventArgs объект с помощью текущего HttpContext объекта и передает его в событие DefaultAuthentication_OnAuthenticate .

Можно использовать Context свойство объекта, предоставленного DefaultAuthenticationEventArgs событию DefaultAuthentication_OnAuthenticate , чтобы задать свойству User текущего HttpContext объекта пользовательский IPrincipal объект. Если не указать значение для User свойства объекта , HttpContext на который ссылается Context свойство , DefaultAuthenticationModule то присваивает User свойству HttpContextGenericPrincipal объекта значение объекта , который не содержит сведений о пользователе.

Событие DefaultAuthentication_OnAuthenticate возникает после AuthenticateRequest события и перед событием AuthorizeRequest . Если у вас есть authorization раздел, который зависит от имени пользователя, чтобы запретить или разрешить доступ к приложению, изменение User свойства текущего HttpContext может повлиять на поведение приложения. Убедитесь, что имя пользователя, заданное во время события DefaultAuthentication_OnAuthenticate , учитывается при указании authorization раздела в конфигурации.

Применяется к

См. также раздел