FormsAuthenticationModule.Authenticate Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Происходит, когда приложение выполняет проверку подлинности текущего запроса.
public:
event System::Web::Security::FormsAuthenticationEventHandler ^ Authenticate;
public event System.Web.Security.FormsAuthenticationEventHandler Authenticate;
member this.Authenticate : System.Web.Security.FormsAuthenticationEventHandler
Public Custom Event Authenticate As FormsAuthenticationEventHandler
Тип события
Примеры
В следующем примере кода используется событие 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
Комментарии
Событие Authenticate вызывается во время AuthenticateRequest события.
Вы можете обработать Authenticate событие FormsAuthenticationModule класса, указав подзадав имя FormsAuthentication_OnAuthenticate в файле Global.asax для приложения ASP.NET.
Свойство, предоставленное событию FormsAuthenticationEventArgs, можно использовать User для задания User свойства текущего HttpContext пользовательского IPrincipal объекта. Если значение свойства User не указано во время события FormsAuthentication_OnAuthenticate , используется удостоверение, предоставленное билетом проверки подлинности форм в файле cookie или URL-адресе.
Событие FormsAuthentication_OnAuthenticate вызывается только в том случае, если режим проверки подлинности задан Forms в элементе проверки подлинности (схема ASP.NET параметров) файла конфигурации приложения и FormsAuthenticationModule является активным модулем HTTP для приложения.