User.IsUserMemberOf-Methode
Ruft ab, ob der aktuelle Benutzer ein Mitglied der angegebenen Gruppe ist.
Namespace: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in microsoft.office.infopath.dll)
Syntax
'Declaration
Public MustOverride Function IsUserMemberOf ( _
groupName As String _
) As Boolean
'Usage
Dim instance As User
Dim groupName As String
Dim returnValue As Boolean
returnValue = instance.IsUserMemberOf(groupName)
public abstract bool IsUserMemberOf (
string groupName
)
Parameter
- groupName
Der Gruppenname im Format Domäne\Gruppenname.
Rückgabewert
true, wenn der aktuelle Benutzer Mitglied der angegebenen Gruppe ist; andernfalls false.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Der an diese Methode übergebene Parameter lautet null. |
|
Der an diese Methode übergebene Parameter ist nicht gültig. Der Parameter weist beispielsweise den falschen Typ oder das falsche Format auf. |
Hinweise
Obwohl die IsUserMemberOf-Methode die Sicherheitsebene 2 aufweist, kann nicht immer darauf zugegriffen werden. Wenn die IsUserMemberOf-Methode aufgerufen wird, führt InfoPath zuerst eine Sicherheitsprüfung durch, um zu ermitteln, ob der Zugriff auf diese Methode zulässig ist. Die Sicherheitsprüfung bestätigt, ob der aufrufende Code vertrauenswürdig ist oder nicht, und ermittelt die Position dieses Codes.
Wenn der aufrufende Code vertrauenswürdig ist (dies trifft z. B. zu, wenn die IsUserMemberOf-Methode von einer installierten oder signierten InfoPath-Formularvorlage aus oder von vertrauenswürdigem externem Code, wie etwa einer ausführbaren Datei auf dem lokalen Computer, aufgerufen wird), ermöglicht InfoPath den Vollzugriff auf die IsUserMemberOf-Methode.
Wenn der aufrufende Code nicht vertrauenswürdig ist (dies trifft z. B. bei einem Aufruf von einer domänenbasierten InfoPath-Formularvorlage zu), wird von InfoPath zuerst überprüft, woher der Aufruf stammt. Stammt der Aufruf von nicht vertrauenswürdigem Code in einer InfoPath-Formularvorlage unter einem URL, wie z. B. "https://www.contoso.com/Beispiel.xsn", kommt der Aufruf aus dem Internet. InfoPath verweigert allen nicht vertrauenswürdigen Aufrufen aus dem Internet den Zugriff auf die IsUserMemberOf-Methode. Stammt der Aufruf von einem URL, wie z. B. "http://contoso/Beispiel.xsn", kommt der Aufruf aus dem Intranet. Bei nicht vertrauenswürdigen Aufrufen aus dem Intranet überprüft InfoPath, ob die Benutzerauthentifizierungseinstellungen von Internet Explorer die automatische Anmeldung zulassen (entweder nur im Intranet oder bei jeder Anmeldung). Wenn der Internet Explorer für die automatische Anmeldung konfiguriert ist, wird von InfoPath die Gruppenmitgliedschaft des Benutzers überprüft. Wenn die Gruppenmitgliedschaft öffentlich ist, ermöglicht InfoPath den Vollzugriff auf die IsUserMemberOf-Methode. Ist die Gruppenmitgliedschaft nicht vollständig öffentlich, blendet InfoPath das Ergebnis aus und behandelt die Gruppenmitgliedschaft so, als ob sie nicht sichtbar wäre. Der Rückgabewert ist in diesem Fall immer false, da die Gruppenmitgliedschaft nicht öffentlich ist. InfoPath meldet nicht, dass der Zugriff verweigert wurde.
![]() |
---|
Die Informationen zur Gruppenmitgliedschaft sind vollständig öffentlich, wenn der Zugriff darauf möglich ist und die Informationen für alle nicht-anonymen Benutzer sichtbar sind. Selbst wenn nur einem einzigen nicht-anonymen Benutzer der Zugriff auf die Informationen zur Mitgliedschaft verweigert wurde, sind die Informationen zur Gruppenmitgliedschaft nicht vollständig öffentlich. |
Auf den Member kann nur über Formulare zugegriffen werden, die in derselben Domäne wie das zurzeit geöffnete Formular ausgeführt werden, oder über Formulare, denen domänenübergreifende Berechtigungen erteilt wurden.
Auf diesen Typ oder diesen Member kann nur über Code zugegriffen werden, der in Formularen ausgeführt wird, die mit Microsoft Office InfoPath 2007 geöffnet wurden.
Beispiel
Im folgenden Beispiel wird beim Klicken auf das Steuerelement Schaltfläche angezeigt, ob der aktuelle Benutzer ein Mitglied der angegebenen Gruppe ist.
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