DefaultAuthenticationEventArgs(HttpContext) コンストラクター
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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 イベントを使用して、現在のHttpContextのUser プロパティがnullされているかどうかをテストします。 プロパティがnullの場合、現在のHttpContextのUser プロパティを、GenericPrincipal オブジェクトのIdentity プロパティが Name プロパティ値が "default" のGenericIdentity オブジェクトであるGenericPrincipal オブジェクトに設定します。
注
DefaultAuthentication_OnAuthenticate イベントは、AuthorizeRequest イベントの前に発生します。 その結果、現在のHttpContextのUser プロパティをカスタム ID に設定すると、アプリケーションの動作に影響する可能性があります。 たとえば、 FormsAuthentication クラスを使用していて、認証されたユーザーのみがサイトにアクセスできるようにする場合は、 authorization セクションを使用して <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 イベントに指定されたDefaultAuthenticationEventArgs オブジェクトのContext プロパティを使用して、現在のHttpContextのUser プロパティをカスタム IPrincipal オブジェクトに設定できます。 Context プロパティによって参照されるHttpContextのUser プロパティの値を指定しない場合、DefaultAuthenticationModuleはHttpContextのUserプロパティを、ユーザー情報を含まないGenericPrincipal オブジェクトに設定します。
DefaultAuthentication_OnAuthenticate イベントは、AuthenticateRequest イベントの後、およびAuthorizeRequest イベントの前に発生します。 アプリケーションへのアクセスを拒否または許可するユーザー名に依存するauthorization セクションがある場合、現在のHttpContextのUser プロパティを変更すると、アプリケーションの動作に影響する可能性があります。 構成で authorization セクションを指定するときに、DefaultAuthentication_OnAuthenticate イベント中に設定したユーザー名が考慮されていることを確認します。