FormsAuthenticationEventHandler Делегат
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет метод, который обрабатывает событие FormsAuthenticationModule объекта.
public delegate void FormsAuthenticationEventHandler(System::Object ^ sender, FormsAuthenticationEventArgs ^ e);
public delegate void FormsAuthenticationEventHandler(object sender, FormsAuthenticationEventArgs e);
type FormsAuthenticationEventHandler = delegate of obj * FormsAuthenticationEventArgs -> unit
Public Delegate Sub FormsAuthenticationEventHandler(sender As Object, e As FormsAuthenticationEventArgs)
Параметры
- sender
- Object
Источник события.
Объект, FormsAuthenticationEventArgs содержащий данные события.
Примеры
В следующем примере кода используется событие FormsAuthentication_OnAuthenticate для задания User свойства текущего HttpContextGenericPrincipal объекта с пользовательским.Identity
public void FormsAuthentication_OnAuthenticate(object sender, FormsAuthenticationEventArgs args)
{
if (FormsAuthentication.CookiesSupported)
{
if (Request.Cookies[FormsAuthentication.FormsCookieName] != null)
{
try
{
FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(
Request.Cookies[FormsAuthentication.FormsCookieName].Value);
args.User = new System.Security.Principal.GenericPrincipal(
new Samples.AspNet.Security.MyFormsIdentity(ticket),
new string[0]);
}
catch (Exception e)
{
// Decrypt method failed.
}
}
}
else
{
throw new HttpException("Cookieless Forms Authentication is not " +
"supported for this application.");
}
}
Public Sub FormsAuthentication_OnAuthenticate(sender As Object, _
args As FormsAuthenticationEventArgs)
If FormsAuthentication.CookiesSupported Then
If Not Request.Cookies(FormsAuthentication.FormsCookieName) Is Nothing Then
Try
Dim ticket As FormsAuthenticationTicket = FormsAuthentication.Decrypt( _
Request.Cookies(FormsAuthentication.FormsCookieName).Value)
args.User = New System.Security.Principal.GenericPrincipal( _
New Samples.AspNet.Security.MyFormsIdentity(ticket), _
New String(0) {})
Catch e As HttpException
' Decrypt method failed.
End Try
End If
Else
Throw New Exception("Cookieless Forms Authentication is not " & _
"supported for this application.")
End If
End Sub
Комментарии
Делегат FormsAuthenticationEventHandler определяется для Authenticate события FormsAuthenticationModule класса. Вы можете получить доступ к Authenticate событию FormsAuthenticationModule класса, указав подзадав имя FormsAuthentication_OnAuthenticate в файле Global.asax для приложения ASP.NET. Событие Authenticate вызывается во время AuthenticateRequest события.
FormsAuthenticationModule Создает FormsAuthenticationEventArgs объект с помощью текущего HttpContext и передает его в событие FormsAuthentication_OnAuthenticate.
Свойство объекта, предоставленного User событию FormsAuthenticationEventArgs, можно использовать для задания User свойства текущего HttpContext объекта пользовательскому IPrincipal объекту. Если значение свойства User не указано во время события FormsAuthentication_OnAuthenticate , используется удостоверение, предоставленное билетом проверки подлинности форм в файле cookie или URL-адресе.
Событие FormsAuthentication_OnAuthenticate возникает только при установке Mode проверки подлинности Forms и FormsAuthenticationModule является активным модулем HTTP для приложения.
Методы расширения
| Имя | Описание |
|---|---|
| GetMethodInfo(Delegate) |
Возвращает объект, представляющий метод, представленный указанным делегатом. |