DefaultAuthenticationModule クラス


認証オブジェクトがコンテキストに必ず存在するようにします。Ensures that an authentication object is present in the context. このクラスは継承できません。This class cannot be inherited.

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

次の例では、 DefaultAuthentication_OnAuthenticateイベントを使用して、 User 現在のインスタンスのプロパティがかどうかをテストし HttpContext null ます。The following example uses the DefaultAuthentication_OnAuthenticate event to test whether the User property of the current HttpContext instance is null. Userプロパティがの場合 null 、サンプルは User 現在のインスタンスのプロパティを、 HttpContext GenericPrincipal Identity GenericPrincipal GenericIdentity 値が Name "default" であるオブジェクトのに設定します。If the User property is null, then the sample sets the User property of the current HttpContext instance to a GenericPrincipal object where the Identity of the GenericPrincipal object is a GenericIdentity with a Name value of "default."


イベントの前に、 DefaultAuthentication_OnAuthenticateイベントが発生し AuthorizeRequest ます。The DefaultAuthentication_OnAuthenticate event is raised before the AuthorizeRequest event. その結果、 User 現在のインスタンスのプロパティ HttpContext をカスタム id に設定すると、アプリケーションの動作に影響を与える可能性があります。As a result, if you set the User property of the current HttpContext instance to a custom identity, it can affect the behavior of your application. たとえば、クラスを使用していて、認証された FormsAuthentication <deny users="?" /> ユーザーのみがサイトにアクセスできるようにするには、このサンプルでは、ユーザーに名前 ("default authorization ") が指定されているため、このサンプルではdeny要素が無視されます。For example, if you are using the FormsAuthentication class and you specify <deny users="?" /> in the authorization configuration section to ensure that only authenticated users have access to your site, this sample will cause the deny element to be ignored, as the user will have a name, which is "default." 代わりに、 <deny users="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


を使用すると、 DefaultAuthenticationModule User 現在のインスタンスのプロパティ HttpContext が、 IPrincipal 要求ごとにオブジェクトに設定されるようになります。The DefaultAuthenticationModule ensures that the User property of the current HttpContext instance is set to an IPrincipal object for each request. は、 DefaultAuthenticationModule User イベントの後、 AuthenticateRequest イベントの前にプロパティを調べ AuthorizeRequest ます。The DefaultAuthenticationModule examines the User property after the AuthenticateRequest event and before the AuthorizeRequest event. Userプロパティがの場合 null 、は、 DefaultAuthenticationModule User ユーザー情報を含まないオブジェクトにプロパティを設定し GenericPrincipal ます。If the User property is null, the DefaultAuthenticationModule sets the User property to a GenericPrincipal object that contains no user information.

認証モジュールによってプロパティが401に設定されている場合、は StatusCodeDefaultAuthenticationModule アクセス拒否エラーページを表示します。If the authentication module sets the StatusCode property to 401, the DefaultAuthenticationModule will render an access-denied error page. プロパティの値 StatusCode が200より大きい値に設定されている場合、 DefaultAuthenticationModule オブジェクトは要求を終了します。If the value of the StatusCode property is set to a value greater than 200, the DefaultAuthenticationModule object will end the request. その場合、 EndRequest 現在の要求が完了する前に、イベントをサブスクライブする HTTP モジュールだけが呼び出されます。In that case, only HTTP modules that subscribe to the EndRequest event are called prior to the completion of the current request.

は、 DefaultAuthenticationModule イベントを公開し Authenticate ます。The DefaultAuthenticationModule exposes an Authenticate event. このイベントを使用して、 IPrincipal User 現在のインスタンスのプロパティにカスタムオブジェクトを提供でき HttpContext ます。You can use this event to provide a custom IPrincipal object for the User property of the current HttpContext instance. イベントにアクセスするには、 Authenticate アプリケーションの global.asax ファイルにDefaultAuthentication_OnAuthenticateという名前のイベントを指定します。The Authenticate event is accessed by specifying an event named DefaultAuthentication_OnAuthenticate in the application's Global.asax file.



DefaultAuthenticationModule クラスの新しいインスタンスを初期化します。Initializes a new instance of the DefaultAuthenticationModule class.



DefaultAuthenticationModule で使用されていたすべてのリソース (メモリを除く) を解放します。Releases all resources, other than memory, used by the DefaultAuthenticationModule.


指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)

DefaultAuthenticationModule オブジェクトを初期化します。Initializes the DefaultAuthenticationModule object.


現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)



要求が認証された後に発生します。Occurs after the request has been authenticated.