次の方法で共有


User.IsUserMemberOf メソッド

現在のユーザーが指定されたグループのメンバーであるかどうかを示す値を取得します。

名前空間:  Microsoft.Office.InfoPath
アセンブリ:  Microsoft.Office.InfoPath (Microsoft.Office.InfoPath.dll)

構文

'宣言
Public MustOverride Function IsUserMemberOf ( _
    groupName As String _
) As Boolean
'使用
Dim instance As User
Dim groupName As String
Dim returnValue As Boolean

returnValue = instance.IsUserMemberOf(groupName)
public abstract bool IsUserMemberOf(
    string groupName
)

パラメーター

  • groupName
    型: System.String
    domain\groupname という形式のグループ名。

戻り値

型: System.Boolean
現在のユーザーが指定されたグループのメンバーである場合は true、それ以外の場合は false。

例外

例外 条件
ArgumentNullException

このメソッドに渡されたパラメーターは null 参照 (Visual Basic ではNothing ) です。

ArgumentException

このメソッドに渡されたパラメーターは無効です。たとえば、型または形式が正しくありません。

解説

IsUserMemberOf(String) メソッドはセキュリティ レベル 2 と設定されていますが、常にアクセス可能とは限りません。IsUserMemberOf(String) メソッドの呼び出しが行われると、InfoPath は最初にセキュリティ チェックを実行して、このメソッドへのアクセスを許可するかどうかを確認します。セキュリティ チェックでは、呼び出し元であるコードが信頼されているかどうかを確認し、呼び出し元コードの場所を確認します。

呼び出し元コードが信頼されている場合 (たとえば、IsUserMemberOf(String) メソッドが、インストールまたは署名された InfoPath フォーム テンプレートから呼び出された場合や、ローカル コンピューター上の実行可能ファイルなどの信頼されている外部コードから呼び出された場合)、InfoPath は IsUserMemberOf(String) メソッドへのフル アクセスを許可します。

呼び出し元コードが信頼されていない場合 (たとえば、呼び出しがドメインベースの InfoPath フォーム テンプレートから行われている場合)、InfoPath は最初に呼び出しがどこから行われているかを確認します。"https://www.contoso.com/example.xsn" などの URL にある InfoPath フォーム テンプレートで信頼されていないコードからである場合、その呼び出しはインターネット ゾーンからの呼び出しです。InfoPath は、インターネット ゾーンから行われる信頼されていないすべての呼び出しに対して、IsUserMemberOf(String) メソッドへのアクセスを拒否します。呼び出しが "http://contoso/example.xsn" などの URL からである場合、その呼び出しはイントラネット ゾーンからの呼び出しです。イントラネット ゾーンからの信頼されていない呼び出しに対して、InfoPath は、Internet Explorer のユーザー認証の設定で、自動ログオンが (イントラネット ゾーンのみで、またはすべてのログオンについて) 許可されているかどうかを確認します。Internet Explorer で自動ログオンが構成されている場合、InfoPath はユーザーのグループ メンバーシップを調べます。グループ メンバーシップがパブリックである場合、InfoPath は IsUserMemberOf(String) メソッドにフル アクセスを許可します。グループ メンバーシップが完全にはパブリックではない場合、InfoPath は結果を非表示にします。つまり、InfoPath はグループ メンバーシップを非表示として扱います。この場合、グループ メンバーシップがパブリックでないため、戻り値は常に false です。InfoPath はアクセスが拒否されたことを報告しません。

注意

グループ メンバーシップ情報へのアクセスが許可されており、匿名ユーザー以外のすべてのユーザーがその情報を表示できる場合、グループ メンバーシップ情報は完全にパブリックです。匿名ユーザー以外のユーザーが 1 人でもメンバーシップ情報へのアクセスを拒否されている場合、そのグループ メンバーシップ情報は完全にはパブリックではありません。

このメンバーには、現在開いているフォームと同じドメインで実行中のフォーム、またはクロスドメインのアクセス許可が与えられたフォームのみがアクセスできます。

この型またはメンバーには、Microsoft InfoPath Filler で開かれたフォームを実行中のコードからのみアクセスできます。

次の例では、[ボタン] コントロールをクリックすると、現在のユーザーが指定されたグループのメンバーであるかどうかが表示されます。

public void CTRL1_Clicked(object sender, ClickedEventArgs e)
{
   MessageBox.Show(
      this.Application.User.IsUserMemberOf(
      "CONTOSO\\Users").ToString());
}
Public Sub CTRL1_Clicked(ByVal sender As Object, _
   ByVal e As ClickedEventArgs)
   MessageBox.Show( _
      Me.Application.User.IsUserMemberOf("CONTOSO\\Users").ToString())
End Sub

関連項目

参照

User クラス

User メンバー

Microsoft.Office.InfoPath 名前空間