DefaultAuthenticationEventHandler 代理人
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
DefaultAuthenticationModule の DefaultAuthentication_OnAuthenticate イベントを処理するメソッドを表します。
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)
パラメーター
- sender
- Object
イベントのソース。
イベント データを格納している DefaultAuthenticationEventArgs。
例
次のコード例では、DefaultAuthentication_OnAuthenticate イベントを使用して、現在HttpContextnull
の の プロパティが User かどうかをテストします。 プロパティが の場合、サンプルはnull
現在HttpContextの の プロパティを オブジェクトにGenericPrincipal設定Userします。ここでIdentity、 オブジェクトの GenericPrincipal の 値は GenericIdentityName "default" です。
注意
DefaultAuthentication_OnAuthenticate イベントは、イベントの前に発生しますAuthorizeRequest。 その結果、現在HttpContextの の プロパティをUserカスタム ID に設定すると、アプリケーションの動作に影響を与える可能性があります。 たとえば、 クラスを使用していて、 セクションを使用FormsAuthenticationauthorization
して を指定<deny users="?" />
することで、認証されたユーザーのみがサイトにアクセスできるようにする場合、このサンプルではdeny
、ユーザーの名前が "default" であるため、要素は無視されます。 代わりに、 を指定 <deny users="default" />
して、認証されたユーザーのみがサイトにアクセスできるようにします。
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
注釈
デリゲートは DefaultAuthenticationEventHandler 、 クラスの イベントに Authenticate 対して定義されます DefaultAuthenticationModule 。 クラスのイベントに Authenticate アクセスするには、ASP.NET アプリケーションの DefaultAuthenticationModule Global.asax ファイルで DefaultAuthentication_OnAuthenticate という名前のサブルーチンを指定します。 イベントは Authenticate イベントの後にAuthenticateRequest発生し、現在HttpContextの の プロパティに User オブジェクトが確実に設定されるようにするために使用されますIPrincipal。
DefaultAuthentication_OnAuthenticate イベントにContext指定された オブジェクトの DefaultAuthenticationEventArgs プロパティを使用して、現在HttpContextの の プロパティをカスタム IPrincipal オブジェクトに設定Userできます。 DefaultAuthentication_OnAuthenticate イベント中にUser指定された のプロパティのHttpContext値を指定しない場合、 DefaultAuthenticationModule は のプロパティHttpContextをUser、ユーザー情報を含まないオブジェクトにGenericPrincipal設定します。
DefaultAuthentication_OnAuthenticate イベントは、イベントの後とイベントのAuthenticateRequest前に発生しますAuthorizeRequest。 アプリケーションへのアクセスをauthorization
拒否または許可するユーザー名に依存するセクションがある場合、現在HttpContextの の プロパティを変更するとUser、アプリケーションの動作に影響を与える可能性があります。 構成でセクションを指定するときに、 DefaultAuthentication_OnAuthenticate イベント中に設定したユーザー名が authorization
考慮されていることを確認します。
拡張メソッド
GetMethodInfo(Delegate) |
指定したデリゲートによって表されるメソッドを表すオブジェクトを取得します。 |
適用対象
.NET