DefaultAuthenticationEventHandler Делегат
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет метод, обрабатывающий событие DefaultAuthenticationModuleDefaultAuthentication_OnAuthenticate объекта.
public delegate void DefaultAuthenticationEventHandler(System::Object ^ sender, DefaultAuthenticationEventArgs ^ e);
public delegate void DefaultAuthenticationEventHandler(object sender, DefaultAuthenticationEventArgs e);
type DefaultAuthenticationEventHandler = delegate of obj * DefaultAuthenticationEventArgs -> unit
Public Delegate Sub DefaultAuthenticationEventHandler(sender As Object, e As DefaultAuthenticationEventArgs)
Параметры
- sender
- Object
Источник события.
Объект, DefaultAuthenticationEventArgs содержащий данные события.
Примеры
В следующем примере кода используется событие DefaultAuthentication_OnAuthenticate для проверки того, является nullли User свойство текущегоHttpContext. Если свойство имеет значениеnull, пример задает User свойство текущего GenericPrincipalHttpContext объекта, где IdentityGenericPrincipal объект является GenericIdentityName значением по умолчанию.
Замечание
Событие DefaultAuthentication_OnAuthenticate вызывается перед событием AuthorizeRequest . В результате, если задать User свойство текущего HttpContext пользовательского удостоверения, это может повлиять на поведение приложения. Например, если вы используете FormsAuthentication класс и гарантируете, что у пользователей, прошедших проверку подлинности, есть доступ к сайту, используя authorization раздел и указав <deny users="?" />этот пример, элемент будет deny игнорироваться, так как у пользователя будет имя, которое имеет значение по умолчанию. Вместо этого необходимо убедиться <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
Комментарии
Делегат DefaultAuthenticationEventHandler определяется для Authenticate события DefaultAuthenticationModule класса. Вы можете получить доступ к Authenticate событию DefaultAuthenticationModule класса, указав подзадав имя DefaultAuthentication_OnAuthenticate в файле Global.asax для приложения ASP.NET. Событие Authenticate возникает после AuthenticateRequest события и используется для обеспечения User заполнения IPrincipal свойства текущего HttpContext объекта.
Свойство объекта, предоставленного DefaultAuthenticationEventArgs событию DefaultAuthentication_OnAuthenticate, можно использовать Context для задания User свойства текущего HttpContext объекта пользовательскому IPrincipal объекту. Если не указать значение свойства User предоставленного HttpContext во время события DefaultAuthentication_OnAuthenticate , DefaultAuthenticationModule свойство UserHttpContextGenericPrincipal объекта, содержащего сведения о пользователе, не содержит.
Событие DefaultAuthentication_OnAuthenticate возникает после AuthenticateRequest события и перед событием AuthorizeRequest . Если у вас есть authorization раздел, который зависит от имени пользователя, чтобы запретить или разрешить доступ к приложению, изменение User свойства текущего HttpContext может повлиять на поведение приложения. Убедитесь, что имя пользователя, заданное во время события DefaultAuthentication_OnAuthenticate , учитывается при указании authorization раздела в конфигурации.
Методы расширения
| Имя | Описание |
|---|---|
| GetMethodInfo(Delegate) |
Возвращает объект, представляющий метод, представленный указанным делегатом. |