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

传递给此方法的参数为 空引用(无 在 Visual Basic 中)。

ArgumentException

传递给此方法的参数无效。例如,它的类型或格式有误。

备注

即使将 IsUserMemberOf(String) 方法的安全级别标记为 2 级,也不是始终可以访问此方法。调用 IsUserMemberOf(String) 方法时,InfoPath 将首先执行安全检查以确定是否允许访问此方法。安全检查可确认调用代码是否可信,并确定调用代码的位置。

如果调用代码可信(例如,从已安装或签名的 InfoPath 表单模板,或从可信的外部代码(如本地计算机中的可执行文件)调用 IsUserMemberOf(String) 方法),InfoPath 将允许完全访问 IsUserMemberOf(String) 方法。

如果调用代码不可信(例如调用来自基于域的 InfoPath 表单模板时),InfoPath 将首先检查调用的来源。如果调用来自诸如"https://www.contoso.com/example.xsn"等 URL 上的 InfoPath 表单模板中不可信的代码,则调用来自 Internet 区域。对于来自 Internet 区域的所有不可信调用,InfoPath 将拒绝对 IsUserMemberOf(String) 方法的访问。如果调用来自诸如"http://contoso/example.xsn"等 URL,则调用来自 Intranet 区域。对于来自 Intranet 区域的不可信的调用,InfoPath 会检查 Internet Explorer 用户身份验证设置是否允许自动登录(仅限于 Intranet 区域,或者对于每次登录的情况)。如果将 Internet Explorer 配置为自动登录,则 InfoPath 将检查用户的组成员身份。如果组成员身份是公开的,InfoPath 将允许完全访问 IsUserMemberOf(String) 方法。如果组成员身份不是完全公开的,则 InfoPath 将隐藏结果。也就是说,InfoPath 将组成员身份视为不可见。在这种情况下,由于组成员身份是不公开的,因此返回值始终为 false。InfoPath 不会对拒绝访问进行报告。

备注

如果所有非匿名用户都有权访问并可见到信息,则组成员信息是完全公开的。即使特别指定只有一个非匿名的用户无权访问组成员身份信息,该信息也不是完全公开的。

此成员只能由与当前打开的表单在相同域中运行的表单访问,或者由已授予跨域权限的表单访问。

可以通过 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 命名空间