FormsAuthenticationEventArgs クラス
アセンブリ: System.Web (system.web.dll 内)
構文
FormsAuthenticationEventArgs クラスは FormsAuthentication_OnAuthenticate イベントにイベント値を指定し、現在の要求に対するカスタム ID を指定できるようにするために使用されます。
FormsAuthenticationModule は、現在の HttpContext を使用して FormsAuthenticationEventArgs オブジェクトを生成し、それを FormsAuthentication_OnAuthenticate イベントに渡します。
User プロパティを使用して、現在の HttpContext の User プロパティを、カスタムの IPrincipal オブジェクトに設定できます。
FormsAuthentication_OnAuthenticate イベント中に User プロパティ値を指定しない場合、フォーム認証チケットによって提供される Cookie または URL 内の ID が使用されます。
FormsAuthentication_OnAuthenticate イベントは、認証の Mode が Forms に設定され、FormsAuthenticationModule がアプリケーションのアクティブ HTTP モジュールである場合にのみ生成されます。
FormsAuthentication_OnAuthenticate イベントを使用して、現在の HttpContext の User プロパティに、カスタム Identity を持つ GenericPrincipal オブジェクトを設定するコード例を次に示します。
Public Sub FormsAuthentication_OnAuthenticate(sender As Object, _ args As FormsAuthenticationEventArgs) If FormsAuthentication.CookiesSupported Then If Not Request.Cookies(FormsAuthentication.FormsCookieName) Is Nothing Then Try Dim ticket As FormsAuthenticationTicket = FormsAuthentication.Decrypt( _ Request.Cookies(FormsAuthentication.FormsCookieName).Value) args.User = New System.Security.Principal.GenericPrincipal( _ New Samples.AspNet.Security.MyFormsIdentity(ticket), _ New String(0) {}) Catch e As HttpException ' Decrypt method failed. End Try End If Else Throw New Exception("Cookieless Forms Authentication is not " & _ "supported for this application.") End If End Sub
public void FormsAuthentication_OnAuthenticate(object sender, FormsAuthenticationEventArgs args) { if (FormsAuthentication.CookiesSupported) { if (Request.Cookies[FormsAuthentication.FormsCookieName] != null) { try { FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt( Request.Cookies[FormsAuthentication.FormsCookieName].Value); args.User = new System.Security.Principal.GenericPrincipal( new Samples.AspNet.Security.MyFormsIdentity(ticket) , new string[0]); } catch (Exception e) { // Decrypt method failed. } } } else { throw new HttpException("Cookieless Forms Authentication is not " + "supported for this application."); } }
System.EventArgs
System.Web.Security.FormsAuthenticationEventArgs
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- FormsAuthenticationEventArgs クラスのページへのリンク