IsUserMemberOf Method

Microsoft Office InfoPath

Returns a Boolean value that indicates whether the current user is a member of the specified group.

expression.IsUserMemberOf(ByVal bstrGroupname As String) As Boolean

expression    Required. An expression that returns a reference to the User object.

bstrGroupname    Required String. The group name in the format of "domain\groupname."

Security Level

0: Can be accessed without restrictions.

Remarks

Even though the IsUserMemberOf method is marked as security level 0, it is not always accessible. When a call is made to the IsUserMemberOf method, InfoPath first performs a security check to determine if access to this method is allowed. The security check confirms whether the calling code is trusted or not and it determines the location of the calling code.

If the calling code is trusted (as it is when, for example, the IsUserMemberOf method is called from an installed or signed InfoPath form template, or from trusted external code, such as an executable file on the local computer), InfoPath will allow full access to the IsUserMemberOf method.

If the calling code is not trusted (as in the circumstance of a call coming from a domain-based InfoPath form template or from script executing in Microsoft Internet Explorer), InfoPath first checks where the call is being made from. If the call is from code that is not trusted in an InfoPath form template at a URL such as "http://www.contoso.com/example.xsn", then the call is from the Internet zone. InfoPath will deny access to the IsUserMemberOf method for all calls that are not trusted coming from the Internet zone. If the call is from a URL such as "http://contoso/example.xsn", then the call is from the Intranet zone. For a call that is not trusted from the Intranet zone, InfoPath checks whether the Internet Explorer user authentication settings allow automatic logon (in the Intranet zone only or for every logon). If Internet Explorer is configured for automatic logon, then InfoPath checks the user's group membership. If the group membership is public, InfoPath allows full access to the IsUserMemberOf method. If the group membership is not fully public, InfoPath hides the result. That is, InfoPath treats the group membership as if it were not visible. The return value in this case is always False because the group membership is not public. InfoPath does not report that access is denied.

Note  Group membership information is fully public if access to it is allowed and the information is visible by all non-anonymous users. If even a single non-anonymous user has been specifically denied access to membership information, then the group membership information is not fully public.

Note  This object model member is not supported when the Disable Service Pack features option on the Advanced tab of the Options dialog box in InfoPath is selected or when Microsoft Office 2003 Service Pack 1 or later is not installed. Any form that implements this object model member in its code will generate an error message if it is opened in InfoPath when service pack features are disabled or unavailable.

Example

In the following example, the IsUserMemberOf method of the User object is used to determine if the current user is a member of the "GroupDomain\Administrators" group.

var fGroupMatched;
fGroupMatched = Application.User.IsUserMemberOf("GroupDomain\Administrators")