FormsAuthenticationEventHandler Делегат
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет метод, обрабатывающий событие FormsAuthentication_OnAuthenticate объекта 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 событию FormsAuthentication_OnAuthenticate , чтобы задать User для свойства текущего HttpContext объекта пользовательский IPrincipal объект. Если не указать значение свойства User во время события FormsAuthentication_OnAuthenticate , используется удостоверение, предоставленное запросом проверки подлинности на основе форм в файле cookie или URL-адресе.
Событие FormsAuthentication_OnAuthenticate возникает только в том случае, если для проверки подлинности Mode задано значение Forms , а FormsAuthenticationModule является активным модулем HTTP для приложения.
Методы расширения
GetMethodInfo(Delegate) |
Получает объект, представляющий метод, представленный указанным делегатом. |