FormsAuthenticationEventArgs.User プロパティ
現在の要求に関連付ける IPrincipal オブジェクトを取得または設定します。
名前空間: System.Web.Security
アセンブリ: System.Web (system.web.dll 内)
構文
'宣言
Public Property User As IPrincipal
'使用
Dim instance As FormsAuthenticationEventArgs
Dim value As IPrincipal
value = instance.User
instance.User = value
public IPrincipal User { get; set; }
public:
property IPrincipal^ User {
IPrincipal^ get ();
void set (IPrincipal^ value);
}
/** @property */
public IPrincipal get_User ()
/** @property */
public void set_User (IPrincipal value)
public function get User () : IPrincipal
public function set User (value : IPrincipal)
適用できません。
プロパティ値
現在の要求に関連付ける IPrincipal オブジェクト。
解説
User プロパティを使用して、現在の HttpContext の User プロパティを、カスタムの IPrincipal オブジェクトに設定できます。
FormsAuthentication_OnAuthenticate イベント中に User プロパティ値を指定しない場合、フォーム認証チケットによって提供される Cookie または URL 内の ID が使用されます。
使用例
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.");
}
}
.NET Framework のセキュリティ
- SecurityPermission User プロパティ値を設定するために必要なアクセス許可。要求値 : Demand。アクセス許可値 : ControlPrincipal。
プラットフォーム
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
参照
関連項目
FormsAuthenticationEventArgs クラス
FormsAuthenticationEventArgs メンバ
System.Web.Security 名前空間