User.IsUserMemberOf method
Returns a value that indicates whether the current user is a member of the specified group.
Namespace: Microsoft.Office.Interop.InfoPath.SemiTrust
Assembly: Microsoft.Office.Interop.InfoPath.SemiTrust (in Microsoft.Office.Interop.InfoPath.SemiTrust.dll)
Syntax
'Declaration
Function IsUserMemberOf ( _
bstrGroupname As String _
) As Boolean
'Usage
Dim instance As User
Dim bstrGroupname As String
Dim returnValue As Boolean
returnValue = instance.IsUserMemberOf(bstrGroupname)
bool IsUserMemberOf(
string bstrGroupname
)
Parameters
bstrGroupname
Type: System.StringThe group name in the format of "domain\groupname."
Return value
Type: System.Boolean
true if the current user is a member of the specified group; otherwise false.
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 "https://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.
Important
This member can be accessed without restrictions.
Examples
In the following example, the IsUserMemberOf method of the UserObject object is used to determine if the current user is a member of the "GroupDomain\Administrators" group.
bool groupMatched;
groupMatched = thisApplication.User.IsUserMemberOf(@"GroupDomain\Administrators");