次の方法で共有


DefaultAuthenticationModule クラス

定義

認証オブジェクトがコンテキストに必ず存在するようにします。 このクラスは継承できません。

public ref class DefaultAuthenticationModule sealed : System::Web::IHttpModule
public sealed class DefaultAuthenticationModule : System.Web.IHttpModule
type DefaultAuthenticationModule = class
    interface IHttpModule
Public NotInheritable Class DefaultAuthenticationModule
Implements IHttpModule
継承
DefaultAuthenticationModule
実装

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

注意

DefaultAuthentication_OnAuthenticate イベントは、イベントの前に発生しますAuthorizeRequest。 その結果、現在HttpContextのインスタンスの プロパティをUserカスタム ID に設定すると、アプリケーションの動作に影響を与える可能性があります。 たとえば、 クラスを使用FormsAuthenticationしていて、認証されたユーザーのみがサイトにアクセスできるように認証構成セクションでを指定<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

注釈

DefaultAuthenticationModuleUser 現在 HttpContext のインスタンスの プロパティが要求ごとに オブジェクトに IPrincipal 設定されていることを確認します。 は DefaultAuthenticationModule 、イベントの User 後とイベントの前に AuthenticateRequest プロパティを AuthorizeRequest 調べます。 プロパティが User の場合、 nullDefaultAuthenticationModule、ユーザー情報をGenericPrincipal含まないオブジェクトに プロパティを設定Userします。

認証モジュールで プロパティを StatusCode 401 に設定すると、 DefaultAuthenticationModule によってアクセス拒否エラー ページが表示されます。 プロパティの値が StatusCode 200 より大きい値に設定されている場合、 DefaultAuthenticationModule オブジェクトは要求を終了します。 その場合、現在の要求が完了する前に、イベントを EndRequest サブスクライブする HTTP モジュールのみが呼び出されます。

DefaultAuthenticationModule イベントを公開します Authenticate 。 このイベントを使用して、現在HttpContextのインスタンスの プロパティのUserカスタム IPrincipal オブジェクトを指定できます。 イベントに Authenticate アクセスするには、アプリケーションの Global.asax ファイルで DefaultAuthentication_OnAuthenticate という名前のイベントを指定します。

コンストラクター

DefaultAuthenticationModule()

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

メソッド

Dispose()

DefaultAuthenticationModule で使用されていたすべてのリソース (メモリを除く) を解放します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
Init(HttpApplication)

DefaultAuthenticationModule オブジェクトを初期化します。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

イベント

Authenticate

要求が認証された後に発生します。

適用対象

こちらもご覧ください