DefaultAuthenticationEventHandler Delegate
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Represents the method that handles the DefaultAuthentication_OnAuthenticate event of a 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)
Parameters
- sender
- Object
The source of the event.
A DefaultAuthenticationEventArgs that contains the event data.
Examples
The following code example uses the DefaultAuthentication_OnAuthenticate event to test whether the User property of the current HttpContext is null
. If the property is null
, the sample sets the User property of the current HttpContext to a GenericPrincipal object, where the Identity of the GenericPrincipal object is a GenericIdentity with a Name value of "default".
Note
The DefaultAuthentication_OnAuthenticate event is raised before the AuthorizeRequest event. As a result, if you set the User property of the current HttpContext to a custom identity, it can affect the behavior of your application. For example, if you are using the FormsAuthentication class and you are ensuring that only authenticated users have access to your site, by using the authorization
section and specifying <deny users="?" />
, this sample will cause the deny
element to be ignored, as the user will have a name, which is "default". Instead you would specify <deny users="default" />
to ensure that only authenticated users can access your site.
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
Remarks
The DefaultAuthenticationEventHandler delegate is defined for the Authenticate event of the DefaultAuthenticationModule class. You can access the Authenticate event of the DefaultAuthenticationModule class by specifying a subroutine named DefaultAuthentication_OnAuthenticate in the Global.asax file for your ASP.NET application. The Authenticate event is raised after the AuthenticateRequest event and is used to ensure that the User property of the current HttpContext is populated with an IPrincipal object.
You can use the Context property of the DefaultAuthenticationEventArgs object supplied to the DefaultAuthentication_OnAuthenticate event to set the User property of the current HttpContext to a custom IPrincipal object. If you do not specify a value for the User property of the HttpContext supplied during the DefaultAuthentication_OnAuthenticate event, the DefaultAuthenticationModule sets the User property of the HttpContext to a GenericPrincipal object that contains no user information.
The DefaultAuthentication_OnAuthenticate event is raised after the AuthenticateRequest event and before the AuthorizeRequest event. If you have an authorization
section that depends on the user name to deny or allow access to your application, modifying the User property of the current HttpContext can affect the behavior of your application. Be sure that the user name you set during the DefaultAuthentication_OnAuthenticate event is considered when you specify the authorization
section in your configuration.
Extension Methods
GetMethodInfo(Delegate) |
Gets an object that represents the method represented by the specified delegate. |