DefaultAuthenticationEventHandler Делегат
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет метод, обрабатывающий событие DefaultAuthentication_OnAuthenticate класса DefaultAuthenticationModule.
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 для проверки того, имеет ли User свойство текущего HttpContext объекта значение null
. Если свойство имеет значение null
, образец задает User для свойства текущего HttpContextGenericPrincipal объекта значение , где IdentityGenericPrincipal объект является GenericIdentity объектом со значением Name default.
Примечание
Событие DefaultAuthentication_OnAuthenticate возникает перед событием AuthorizeRequest . В результате, если для свойства текущего HttpContext объекта задано User пользовательское удостоверение, это может повлиять на поведение приложения. Например, если вы используете 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 события и используется для заполнения UserIPrincipal свойства текущего HttpContext объекта объектом .
Можно использовать Context свойство объекта , предоставленного DefaultAuthenticationEventArgs событию DefaultAuthentication_OnAuthenticate , чтобы задать User для свойства текущего HttpContext объекта пользовательский IPrincipal объект. Если не указать значение свойства User объекта , предоставленного HttpContext во время события DefaultAuthentication_OnAuthenticate , DefaultAuthenticationModule свойство объекта присваивает UserHttpContext объекту GenericPrincipal , который не содержит сведений о пользователе.
Событие DefaultAuthentication_OnAuthenticate возникает после AuthenticateRequest события и перед событием AuthorizeRequest . Если у вас есть authorization
раздел, который зависит от имени пользователя, чтобы запретить или разрешить доступ к приложению, изменение User свойства текущего HttpContext может повлиять на поведение приложения. Убедитесь, что имя пользователя, заданное во время события DefaultAuthentication_OnAuthenticate , учитывается при указании authorization
раздела в конфигурации.
Методы расширения
GetMethodInfo(Delegate) |
Получает объект, представляющий метод, представленный указанным делегатом. |