DefaultAuthenticationEventArgs(HttpContext) コンストラクター

定義

DefaultAuthenticationEventArgs クラスの新しいインスタンスを初期化します。

public:
 DefaultAuthenticationEventArgs(System::Web::HttpContext ^ context);
public DefaultAuthenticationEventArgs (System.Web.HttpContext context);
new System.Web.Security.DefaultAuthenticationEventArgs : System.Web.HttpContext -> System.Web.Security.DefaultAuthenticationEventArgs
Public Sub New (context As HttpContext)

パラメーター

context
HttpContext

イベントのコンテキスト。

次のコード例では、DefaultAuthentication_OnAuthenticate イベントを使用して、現在HttpContextnullの の プロパティが User かどうかをテストします。 プロパティnullが の場合、現在HttpContextの のプロパティを オブジェクトにGenericPrincipal設定Userします。このIdentityオブジェクトのGenericPrincipalプロパティは、プロパティ値が "default" のオブジェクトNameですGenericIdentity

注意

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

注釈

オブジェクトはDefaultAuthenticationModule、現在HttpContextの をDefaultAuthenticationEventArgs使用してオブジェクトを構築し、DefaultAuthentication_OnAuthenticate イベントに渡します。

DefaultAuthentication_OnAuthenticate イベントにContext指定された オブジェクトの DefaultAuthenticationEventArgs プロパティを使用して、現在HttpContextの の プロパティをカスタム IPrincipal オブジェクトに設定Userできます。 プロパティによってContext参照される のプロパティのHttpContext値をUser指定しない場合、 DefaultAuthenticationModule は のプロパティHttpContextUser、ユーザー情報をGenericPrincipal含まないオブジェクトに設定します。

DefaultAuthentication_OnAuthenticate イベントは、イベントの後とイベントのAuthenticateRequest前に発生しますAuthorizeRequest。 アプリケーションへのアクセスをauthorization拒否または許可するユーザー名に依存するセクションがある場合、現在HttpContextの の プロパティを変更するとUser、アプリケーションの動作に影響を与える可能性があります。 構成でセクションを指定するときに、 DefaultAuthentication_OnAuthenticate イベント中に設定したユーザー名が authorization 考慮されていることを確認します。

適用対象

こちらもご覧ください