Domino 9 und frühere Versionen > ND6: Entwicklung

wie kann ich alle User einer bestimmtem Rolle ermitteln ?

<< < (4/8) > >>

Klafu:
Ja... das mit den Gruppen ist dann noch so ein Problem...
da muss man dann mit den Gruppennamen das Server Adressbuch durchsuchen.
Dann wirds eben schwierig. Das hab ich noch nie gemacht, aber machbar ists ja bestimmt. :)

Chris

BigWim:
@ascabg

--- Zitat ---Auch nicht schlecht.
--- Ende Zitat ---
Danke (*Stolz*), blinder Hahn findet auch mal ein Korn ...


--- Zitat ---Aber.
Gruppe 1 beinhaltet Gruppe 2 und Gruppe 3.
Gruppe 2 beinhaltet Gruppe 4
Gruppe 3 beinhaltet Gruppe 5 und Gruppe 6

--- Ende Zitat ---
Ich will nicht abstreiten, dass es dann aufwendiger wird, aber unsere Gruppen fangen z. B. alle mit einem $ an. So kann ich unterscheiden: Person oder Gruppe. Und dann muss ich über eine Schleife "weiter" auflösen.

Wobei sich das für mich so anhört, als hätte ich in Karin's Fall Einfluß darauf, ob verschachtelt wird oder nicht. Und man muss es ja nicht unbedingt komplizierter machen, als nötig ;)

Markus


Pidray:

--- Zitat von: jBubbleBoy am 23.09.09 - 12:19:27 ---Und was ist wenn eine Gruppe eine Liste von Gruppen beinhaltet ???

--- Ende Zitat ---
soweit ich weiss, gibt es das in unserem Haus nicht, allerdings soll "meine" Datenbank auch in einem anderen Haus Verwendung finden und was die für Gruppen haben, weiss ich nicht.


--- Zitat von: jBubbleBoy am 23.09.09 - 12:19:27 ---Wenn ihr wollt kann ich euch einen LS - Codeschnipsel zur Rekursiven Gruppenauflösung bereitstellen.
Ich hab das ganze nämlich schon mal gemacht :)  

--- Ende Zitat ---
:) oh, das wäre super ! Ich wollte das Ganze schon fallen lassen ...
Aber wenn Du es uns zur Verfügung stellst, muss ich weder aufgeben noch das Rad neu erfinden !

Gruß+Dank
Katrin

samWare:
Ich verstehe nicht ganz wo das Problem mit den Gruppen liegen soll?! Das kann man doch alles wunderbar auflösen (anhand des Adressbuches). Mit der richtigen Logik ist auch die Sache mit den verschachtelten Gruppen kein Problem...

@Pidray: keine Angst das was du willst ist durchaus machbar ;) Schau dir einfach wie vorhin schon beschrieben die NotesACL Klasse an, und schau dich im Adressbuch um damit du siehst wo was abgelegt ist. Vllt. wäre das ganz nütlich für dich ohne Fremdcode die Sache erstmal selber zu Probieren :-:

mfg Samuel

jBubbleBoy:
Die Variablen sind Global zu definieren:


--- Code: ---'-- Globale Variablen
dim lauf as integer
dim groupview as notesview
dim memberarray() as string, grouparray() as string

'-- Aufruf dann z.B.
mitglieder$ = getAllGroupMembers(server$, filepath$, gruppe$)
 
Function getAllGroupMembers(server As String, filepath As String, group As String) As String
Dim se As New NotesSession
Dim namesdb As New notesdatabase( server,filepath)
Dim member$

Set groupview = namesdb.Getview("Groups")
Redim memberarray(0)
Redim grouparray(0)
lauf = 0
member = ""
Forall i In checkGroups(group,0)
If i <> "" Then member = member + ";" + i
End Forall
If Len(member)>0 Then member = Right(member,Len(member)-1)
getAllGroupMembers = member
End Function
 
Function CheckGroups(groups As String, i As Integer) As Variant
Dim doc1 As NotesDocument
Dim flag%,membertest
Dim memberdoc As NotesDocument

Set memberdoc = groupview.GetDocumentbyKey(groups,True)
If Not (memberdoc Is Nothing) Then
Forall member In memberdoc.members
Redim Preserve memberarray(i)
member = CheckName(member)
Set doc1 = groupview.GetDocumentbyKey(member,True)
If Not (doc1 Is Nothing) Then
Redim Preserve grouparray(lauf)
grouparray(lauf) = member
lauf = lauf +1
membertest = CheckGroups(member,i)
Else
flag = 0
Forall v In memberarray
If v = member Then flag = 1
End Forall
If flag = 0 Then memberarray(i) = member
End If
i = i+1
End Forall
End If
checkgroups = memberarray
End Function
 
Function CheckName (member As String) As String
Dim username As NotesName
If Left(member,2) = "CN" Then
Set username = New NotesName(member)
member = username.Common
End If
checkname = member
End Function

--- Ende Code ---

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln