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
Typ: System.StringDer Gruppenname im Format Domäne\Gruppenname.
Rückgabewert
Typ: System.Boolean
true, wenn der aktuelle Benutzer Mitglied der angegebenen Gruppe ist; andernfalls false.
Ausnahmen
Ausnahme | Bedingung |
---|---|
ArgumentNullException | Der an diese Methode übergebene Parameter ist ein Nullverweis (Nothing in Visual Basic). |
ArgumentException | Der an diese Methode übergebene Parameter ist nicht gültig. Er weist beispielsweise den falschen Typ oder das falsche Format auf. |
Hinweise
Obwohl die IsUserMemberOf(String)-Methode die Sicherheitsebene 2 aufweist, kann nicht immer darauf zugegriffen werden. Wenn die IsUserMemberOf(String)-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(String)-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(String)-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 einer 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(String)-Methode. Stammt der Aufruf von einer 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(String)-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.
Hinweis
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 dieses Mitglied kann nur mithilfe von Formularen zugegriffen werden, die in der gleichen Domäne wie das derzeit geöffnete Formular ausgeführt werden oder denen domänenübergreifende Berechtigungen zugewiesen wurden.
Auf diesen Typ oder dieses Mitglied kann nur über Code zugegriffen werden, der in Formularen ausgeführt wird, die in Microsoft InfoPath Filler geöffnet wurden.
Beispiele
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