FormsAuthenticationEventHandler Delegát
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje metodu, která zpracovává FormsAuthentication_OnAuthenticate události 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)
Parametry
- sender
- Object
Zdroj události
A FormsAuthenticationEventArgs obsahující data události.
Příklady
Následující příklad kódu používá FormsAuthentication_OnAuthenticate událost k nastavení User vlastnosti aktuálního HttpContext objektu GenericPrincipal s vlastním 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
Poznámky
Delegát FormsAuthenticationEventHandler je definován pro Authenticate událost FormsAuthenticationModule třídy. K události FormsAuthenticationModule třídy můžete přistupovat Authenticate zadáním podprogramu s názvem FormsAuthentication_OnAuthenticate v souboru Global.asax pro vaši aplikaci ASP.NET. Událost Authenticate se vyvolá během AuthenticateRequest události.
Vytvoří FormsAuthenticationModule objekt pomocí aktuálního HttpContext objektu a předá ho FormsAuthentication_OnAuthenticateFormsAuthenticationEventArgs události.
Vlastnost objektu FormsAuthenticationEventArgs zadaného do události FormsAuthentication_OnAuthenticate můžete použít User k nastavení User vlastnosti aktuálního HttpContext objektu na vlastní IPrincipal objekt. Pokud během události FormsAuthentication_OnAuthenticate nezadáte hodnotu User vlastnosti, použije se identita zadaná lístkem ověřování formulářů v souboru cookie nebo adrese URL.
Událost FormsAuthentication_OnAuthenticate se vyvolá pouze v případě, že je ověřování Mode nastavené Forms na a FormsAuthenticationModule je aktivním modulem HTTP pro aplikaci.
Metody rozšíření
| Name | Description |
|---|---|
| GetMethodInfo(Delegate) |
Získá objekt, který představuje metodu reprezentovanou zadaným delegátem. |