次の方法で共有


IAuthenticationExtension.GetUserInfo Method

現在のユーザー ID を返します。

名前空間: Microsoft.ReportingServices.Interfaces
アセンブリ: Microsoft.ReportingServices.Interfaces (microsoft.reportingservices.interfaces.dll 内)

構文

'宣言
<StrongNameIdentityPermissionAttribute(SecurityAction.LinkDemand, PublicKey:="0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8")> _
Sub GetUserInfo ( _
    <OutAttribute> ByRef userIdentity As IIdentity, _
    <OutAttribute> ByRef userId As IntPtr _
)
[StrongNameIdentityPermissionAttribute(SecurityAction.LinkDemand, PublicKey="0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8")] 
void GetUserInfo (
    out IIdentity userIdentity,
    out IntPtr userId
)
[StrongNameIdentityPermissionAttribute(SecurityAction::LinkDemand, PublicKey=L"0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8")] 
void GetUserInfo (
    [OutAttribute] IIdentity^% userIdentity, 
    [OutAttribute] IntPtr% userId
)
/** @attribute StrongNameIdentityPermissionAttribute(SecurityAction.LinkDemand, PublicKey="0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8") */ 
void GetUserInfo (
    /** @attribute OutAttribute() */ /** @ref */ IIdentity userIdentity, 
    /** @attribute OutAttribute() */ /** @ref */ IntPtr userId
)
JScript は、値と型の引数の参照渡しをサポートしていません。

パラメータ

  • userIdentity
    [out] 現在のユーザーの ID です。IIdentity の値はユーザー インターフェイスに表示することができ、その場合は解読可能である必要があります。
  • userId
    [out] ユーザー アカウント トークンです。このトークンは、Windows 認証の資格情報管理をサポートする Windows アカウントのハンドルとして、主にレポート サーバーによって使用されます。

解説

レポート サーバーは、現在のユーザー ID を取得する要求ごとに、GetUserInfo メソッドを呼び出します。

使用例

次のサンプル コードでは、現在の HTTP 要求のプリンシパル ID を返すことにより、GetUserInfo メソッドを実装しています。

Public Sub GetUserInfo(ByRef userIdentity As IIdentity, ByRef userId As IntPtr)
   ' If the current user identity is not null,
   ' set the userIdentity parameter to that of the current user 
   If Not (HttpContext.Current Is Nothing) And Not (HttpContext.Current.User Is Nothing) Then
      userIdentity = HttpContext.Current.User.Identity
   Else
      userIdentity = Nothing
   End If 
   ' initialize a pointer to the current user id to zero
   userId = IntPtr.Zero
End Sub 'GetUserInfo
public void GetUserInfo(out IIdentity userIdentity, out IntPtr userId)
{
   // If the current user identity is not null,
   // set the userIdentity parameter to that of the current user 
   if (HttpContext.Current != null
       && HttpContext.Current.User != null)
   {
       userIdentity = HttpContext.Current.User.Identity;
   }
   else
      userIdentity = null;

   // initialize a pointer to the current user id to zero
   userId = IntPtr.Zero;
}

スレッド セーフ

この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

対象プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

参照

関連項目

IAuthenticationExtension Interface
IAuthenticationExtension Members
Microsoft.ReportingServices.Interfaces Namespace