Inhalt
Einleitung
Mit Erscheinen der Version 5.2 bietet Intrexx eine Vielzahl an erweiterten Möglichkeiten der prozessgesteuerten Benutzerverwaltung. Durch neue Zugriffsobjekte und –methoden innerhalb von Groovy-Aktionen können u.a. neue Benutzer angelegt und verwaltet werden.
Als Einstiegspunkt zum Arbeiten auf der Organisationsstruktur eines Portals innerhalb von Prozessen dient das global verfügbare und
bereits initialisierte Objekt g_om
(JavaDoc Link).
Hiermit lassen sich bereits grundlegende UseCases umsetzen wie das Suchen eines Benutzers oder das Generieren eines neuen Passworts. Diese Methoden
sind wie "normale" Methodenaufrufe zu verwenden.
Beispiele
// Generieren und Versenden eines neuen Passworts an den übergebenen Benutzer. g_om.generateAndSendPassword(g_session.user)
// Suchen eines Benutzers anhand einer GUID. def user = g_om.getUser("C10579449052F85D9C3FF3C2824348FCE020A22E")
// Klassifizieren einer Liste von GUIDs. Übergeben werden kann eine Liste mit GUIDs // oder ein Text (z.B. Inhalt eines Datenfelds einer Mehrfachauswahl). def guids = ["AE39A904172F5867DA23DE289D1D6B7967420DC0", "6AA80844C3C99EF93BF4536EB18605BF86FDD3C5", g_session.user.guid] def classified = g_om.classifyGuids(guids) //guids = Collection oder String //Ergebnis ist eine Map mit den kategorisierten GUIDs. //z.B. {containers=[], users=[7312F993D0DA4CECCA9AE5A9D865BE142DE413EA], // unclassified=[AE39A904172F5867DA23DE289D1D6B7967420DC0], // sets=[6AA80844C3C99EF93BF4536EB18605BF86FDD3C5]} println(classified) //Weitere Filterung auf bestimmte Objektarten println(classified.users) println(classified.containers) println(classified.sets) println(classified.unclassified)
//Liefert die Anzahl aller nicht-anonymen Session. g_om.getNonAnonymousActiveSessionCount()
g_om und Closures
Darüber hinaus verfügt das Objekt g_om
noch über einige Methoden, die in Verbindung mit einer Closure
aufgerufen werden, um weiterführende Aktionen zu realisieren. Zu erkennen sind diese Methoden an dem in den JavaDocs angegebenem
Parameter vom Typ groovy.lang.Closure
, z.B. GroovyOrgBuilder.createUser(groovy.lang.Closure p_closure)
.
Innerhalb solch einer Closure können Methoden jener Klasse aufgerufen werden, die in den jeweiligen hinterlegten Links dokumentiert sind.
Folgende Methoden sind mit einer Closure aufrufbar:
g_om.createUser(groovy.lang.Closure p_closure)
Hiermit kann ein neuer Intrexx-Benutzer angelegt werden. Dabei können innerhalb der Closure die folgend
aufgelisteten Properties gesetzt werden, wobei die Properties name
und loginName
erforderlich, die
restlichen optional sind.
Property Datatype Property Datatype birthday Date loginDomainLwr String loginName String city String loginNameLwr String container Object male boolean country String memberOf Collection<?> defaultLanguage String middleName String defaultLayout String name String deletable boolean password String deleted boolean passwordChangedDate Date description String passwordExpires boolean disabled boolean passwordHash String dn String phoneBiz String emailBiz String phoneFax String emailHome String phoneHome String employeeNo String phoneMobileBiz String enterDate Date phoneMobileHome String externalLogin1 String phonePager String externalLogin2 String poBox String externalLogin3 String postalCode String externalPassword1 String priority int externalPassword2 String externalPassword3 String rplGuid String externalPrimaryGroupId int salt String female boolean showUser boolean firstName String state String fullName String street String gender int timeZone TimeZone guid String title String id int userImageContentType String internalUsn int userImageFile File lastName String userImageMetaInfo String loginDomain String - Bei den Properties
container
undmemberOf
können wahlweise die GUIDs oder die eindeutigen Namen der Container, Rollen, Sets oder Gruppen angegeben werden. - Beispiel:
g_om.createUser{ name = "g_om" loginName = "g_om" birthday = now() container = "0F8233A39555B28F6B32CFFE666A5151E1F41AD3" memberOf = ["8FBF199EE826D16742F0F131E0AB4CF0E6BA6CA3", "Benutzer"] emailBiz = "g_om@example.org" guid = newGuid() male = true }
g_om.getLoggedOnUsers(boolean p_bIncludeAnonymous, groovy.lang.Closure p_closure)
Gibt alle aktuell eingeloggten Benutzer aus. Über p_bIncludeAnonymous
kann angegeben werden, ob anonyme Sessions in das Ergebnis mitaufgenommen
werden sollen. Über die Groovy-Closure können weitere Filterungen vorgenommen werden.
- Beispiel:
def userOnline = g_om.getLoggedOnUsers(false){ it.containerGuid == "9DABA9EE4F9F6F771704F75C79A1C3A124FF399C" }
g_om.getLoggedOnUsersDistinct(groovy.lang.Closure p_closure)
Gibt alle aktuell eingeloggten, nicht-anonymen Benutzer ohne doppelte Vorkommen aus. Über die Groovy-Closure können analog zu
g_om.getLoggedOnUsers(boolean p_bIncludeAnonymous, groovy.lang.Closure p_closure)
weitere Filterungen vorgenommen werden.
g_om.withOrgStructure(groovy.lang.Closure p_closure)
Erlaubt das Arbeiten auf der Organisationsstruktur eines Portals.
- Beispiel:
g_om.withOrgStructure{ println("9DABA9EE4F9F6F771704F75C79A1C3A124FF399C".isUser()) }
- Folgende Methoden sind innerhalb der OrgStructure-Closure aufrufbar:
isUser() isSet() isGroup() isDistList() isContainer() isOrganization() isOrgUnit()