Der LDAP Treiber hat funktioniert.War etwas knifflig, da auch mit diesem Treiber keine Daten im Designer angezeigt werden. Erst im HTML5 Client wird das Resultat angezeigt. Diese Meldung kann ignoriert werden.
Mit folgender Formel habe ich hingekriegt:
LDAPWERTLESEN ( VerbindungLDAP
; "DC=main,DC=Company,DC=Country"
; "samaccountName"
; TEXT
; UNTERVERZEICHNISSE
; "(&(&(objectCategory=user)(memberOf=CN=ROLLEZUÜBERPRUFEN,CN=Users,DC=main,DC=Company,DC=Country))(samaccountName=" + [TEC_User;OBJ32] + "))"
)
Achtung: Die LDAP Verbindung braucht keinen User und Password.
6 Replies
Hallo,
ich habe gerade kein AD zur Hand, um es zu testen. Laut der Online-Hilfe sieht es nicht so aus, als würde diese Abfrage unterstützt. Einfach mal probieren und schauen was passiert, würde ich sagen ;-)
Zwei alternative Ansatzpunkte hätte ich noch:
1. Man kann mit der Funktion auch nach Gruppen suchen. Evtl. kann man die Liste der User einer Gruppe auslesen und damit die Abfrage bewerkstelligen.
2. Es gibt noch die Funktion LDAPWERTLESEN, die das können sollte. Kann aber sein, dass man dafür erst die LDAP-Schnittstelle lizensieren muss.
http://help.arcplan.com/DE/Designer/v8/index.html?n=ldapwertlesenberechnungsfunktion.htm
MfG,
Markus Bremer
Ausprobieren find ich nicht so spassig, da ich immer wieder die Applikation aktualisieren muss.
Gemäss Anleitung: Die Funktion WINDOWSBENUTZERSUCHEN ist für die Verwendung in den Web-Clients bestimmt und gibt im Application Designer keinen korrekten Wert zurück.
Trotzdem hab ich die beiden Ansätze versucht:
1. Geht nicht, da immer nur ein Wert pro abgefragtem Filter zurückgegebn werden kann.
2. Muss ich tatsächlich noch registrieren lassen.
Melde mich mit der Lösung...
Mit folgender Formel habe ich hingekriegt:
LDAPWERTLESEN ( VerbindungLDAP
; "DC=main,DC=Company,DC=Country"
; "samaccountName"
; TEXT
; UNTERVERZEICHNISSE
; "(&(&(objectCategory=user)(memberOf=CN=ROLLEZUÜBERPRUFEN,CN=Users,DC=main,DC=Company,DC=Country))(samaccountName=" + [TEC_User;OBJ32] + "))"
)
Achtung: Die LDAP Verbindung braucht keinen User und Password.
Wenn du einen MS-SQL-Server zur Hand hast, kannst du die Gruppenzugehörigkeit auch mit der Funktion IS_MEMBER durchführen:
z.B. SELECT IS_MEMBER('Domäne\Gruppe')
Diese liefert 1, wenn der Benutzer in der Gruppe ist. Der SQL muss allerdings von dem zu überprüfenden Benutzer ausgeführt werden.
Das ganze geht auch mit mehreren Gruppen, wenn du die Gruppen in einer Tabelle pflegst
Hallo,
ein weitere Lösungsmöglichkeit gibt es noch:
Man kann über WINDOWSBENUTZERSUCHEN für einen Benutzer das Attribut "memberof" abfragen, welches alle Gruppenzugehörigkeiten dieses Benutzers liefert. Das ist ein langer String, den man mit TEXTZUSPALTEN ganz gut zerlegen kann bzw. mit FINDEN direkt auf eine bestimmte Gruppenzugehörigkeit prüfen kann.
Grüße,
Markus
@ Markus Bremer
Da die Funktion WINDOWSBENUTZERSUCHEN im Longview Application Designer nicht funktioniert, ist die Lösung nur bedingt zu empfehlen.