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