DefaultAuthenticationModule.Authenticate イベント
要求が認証された後に発生します。
名前空間: System.Web.Security
アセンブリ: System.Web (system.web.dll 内)
構文
'宣言
Public Event Authenticate As DefaultAuthenticationEventHandler
'使用
Dim instance As DefaultAuthenticationModule
Dim handler As DefaultAuthenticationEventHandler
AddHandler instance.Authenticate, handler
public event DefaultAuthenticationEventHandler Authenticate
public:
event DefaultAuthenticationEventHandler^ Authenticate {
void add (DefaultAuthenticationEventHandler^ value);
void remove (DefaultAuthenticationEventHandler^ value);
}
/** @event */
public void add_Authenticate (DefaultAuthenticationEventHandler value)
/** @event */
public void remove_Authenticate (DefaultAuthenticationEventHandler value)
JScript では、このクラスで定義されているイベントを処理できます。ただし、独自のイベントは定義できません。
適用できません。
解説
Authenticate イベントは、AuthenticateRequest イベントの後に発生し、現在の HttpContext の User プロパティに必ず IPrincipal オブジェクトが格納されるようにします。
DefaultAuthenticationModule クラスの Authenticate イベントには、ASP.NET アプリケーションの Global.asax ファイルに、DefaultAuthentication_OnAuthenticate というサブルーチンを指定することによってアクセスできます。
DefaultAuthentication_OnAuthenticate イベントに渡した DefaultAuthenticationEventArgs オブジェクトの Context プロパティを使用して、現在の HttpContext の User プロパティにカスタムの IPrincipal オブジェクトを設定できます。DefaultAuthentication_OnAuthenticate イベント中に渡される HttpContext の User プロパティに対して値を指定しない場合、DefaultAuthenticationModule は、HttpContext の User プロパティに、ユーザー情報が含まれない GenericPrincipal オブジェクトを設定します。
DefaultAuthentication_OnAuthenticate イベントは、AuthenticateRequest イベントの後と AuthorizeRequest イベントの前に発生します。authorization セクションにより、アプリケーションへのアクセスの許可または拒否をユーザー名に依存している場合、現在の HttpContext の User プロパティを変更することによりアプリケーションの動作に影響を与えることがあります。構成ファイルの authorization セクションを指定するときには、必ず、DefaultAuthentication_OnAuthenticate イベントで設定されるユーザー名を考慮するようにしてください。
使用例
DefaultAuthentication_OnAuthenticate イベントを使用して、現在の HttpContext の User プロパティが null 参照 (Visual Basic では Nothing) かどうかをテストするコード例を次に示します。User プロパティが null 参照 (Visual Basic では Nothing) の場合、サンプル コードでは、現在の HttpContext の User プロパティに GenericPrincipal オブジェクトが設定され、このとき、GenericPrincipal オブジェクトの Identity は Name 値が "default" の GenericIdentity になります。
メモ : |
---|
DefaultAuthentication_OnAuthenticate イベントは、AuthorizeRequest イベントの前に発生します。結果、現在の HttpContext の User プロパティにカスタム ID を設定すると、アプリケーションの動作に影響を与える場合があります。たとえば、FormsAuthentication クラスを使用して、認証されたユーザーしかサイトにアクセスできないように authorization 構成セクションに |
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
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]);
}
プラットフォーム
Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition
Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。
バージョン情報
.NET Framework
サポート対象 : 3.0,2.0,1.1,1.0
参照
関連項目
DefaultAuthenticationModule クラス
DefaultAuthenticationModule メンバ
System.Web.Security 名前空間