次の方法で共有


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
    domain\groupname という形式のグループ名。

戻り値

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

例外処理

例外の種類 条件

ArgumentNullException

このメソッドに渡されたパラメータは null です。

ArgumentException

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

コメント

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

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

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

メモメモ :

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

このメンバは、現在開いているフォームと同じドメイン内で実行されているフォーム、またはドメインを越えたアクセス許可を付与されているフォームだけがアクセスできます。

この型またはメンバは、Microsoft Office InfoPath 2007 で開いているフォームで実行されているコードからのみアクセスできます。

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

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 名前空間