Autor Thema: ob Rolle Person X zugeordent ist?  (Gelesen 2110 mal)

Offline Christopher

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.060
  • Geschlecht: Männlich
  • Dumm ist der, der dummes tut.
ob Rolle Person X zugeordent ist?
« am: 02.05.06 - 10:21:47 »
Moin Moin Männer´s,

weiß jemand von Euch wie ich rausfinden kann ob eine Person X z.B. Die Rolle  [Admin] besitzt. Per LS.

Ich hatte mal eine Funktion gefunden die prüft ob der akutelle Nutzer eine Rolle besitzt. Das funktioniert auch sehr gut.


Function RoleEnabled(sRole As String) As Integer

Dim vResult As Variant

vResult = Evaluate(|@IsMember("| & sRole & |"; @UserRoles)|)

If vResult(0) = 1 Then
RoleEnabled = 1
Else
RoleEnabled = 0
End If 'If vResult(0) = 1

End Function


Beispielaufruf:

If RoleEnabled("[Admin]") Then
Messagebox "Rolle Admin ist gesetzt"
Else
Messagebox "Rolle Admin ist nicht gesetzt"
End If
« Letzte Änderung: 03.05.06 - 11:50:28 von Christopher »
Client & Server R 5.011
Principal Certified Lotus Professional R5 System Administration
Microsoft Certified Systems Engineer 2000
Microsoft Certified Systems Administrator 2000
Microsoft Certified Systems Administrator 2003
Microsoft Certified Systems Engineer 2003

Glombi

  • Gast
Re: ob Rolle Person X zugeordent ist?
« Antwort #1 am: 02.05.06 - 10:27:50 »
Du willst das für eine beliebige Person prüfen, nicht für die gerade eingeloggte, oder?

In Notes 5 ist das schwierig zu implementieren, in Notes 6 gibt es dafür eine Methode:

Returns the roles of a person, group, or server in a database.
Note  This method is new with Release 6.
Defined in
NotesDatabase
Syntax
roles = notesDatabase.QueryAccessRoles( name$ )


Das Problem ist (vor Notes 6), dass man alle ACL-Einträge prüfen muss. Bei Gruppen muss man prüfen, ob der User dort enthalten ist. Dabei ist zu berücksichtigen, dass es Untergruppen geben kann.

Andreas
« Letzte Änderung: 02.05.06 - 10:30:35 von Glombi »

Offline Christopher

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.060
  • Geschlecht: Männlich
  • Dumm ist der, der dummes tut.
Re: ob Rolle Person X zugeordent ist?
« Antwort #2 am: 02.05.06 - 10:46:29 »
Ne es geht um das weiterbearbeiten eines Antrages und wenn person X geählt worde will ich prüfen ob die ausgeählte Person X eine gewisse Rolle besitzt.
Client & Server R 5.011
Principal Certified Lotus Professional R5 System Administration
Microsoft Certified Systems Engineer 2000
Microsoft Certified Systems Administrator 2000
Microsoft Certified Systems Administrator 2003
Microsoft Certified Systems Engineer 2003

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: ob Rolle Person X zugeordent ist?
« Antwort #3 am: 02.05.06 - 23:27:54 »
Auf Andreas' Frage bist Du jetzt überhaupt nicht eingegangen, Christopher. Es fällt daher jetzt mehr als schwer, hier irgendwelche Antworten zu versuchen, da unklar ist, was Du erreiche nwillst.

Bernhard

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: ob Rolle Person X zugeordent ist?
« Antwort #4 am: 03.05.06 - 08:34:51 »
Für mich ist eigentlich klar was Christopher will.

Es soll für den nächsten Bearbeiter eines Antrages innerhalb eines Workflows ermittelt werden, ob diese Person eine bestimmte Rolle besitzt oder nicht.

Die nächste Frage die sich hier dann stellt, ob die Person direkt in der ACL steht oder in einer Gruppe. Wenn Gruppen, dann wird's aufwändig.
Mit den ACL-Klassen sollte es aber machbar sein.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline smoki

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
    • Smoki's Lotus Notes
Re: ob Rolle Person X zugeordent ist?
« Antwort #5 am: 03.05.06 - 08:47:54 »
Ich habe so etwas ähnliches mit Gruppen realisiert, da ich es nicht schön finde, wenn (viele) Personen direkt in der ACL stehen.

Allerdings muss man sich da eine Funktion "IsUserInGroup" unter R5 leider bauen....(der Rekursiv durch alle Untergruppen geht!)

Ich habe das nie mit hoher Performance hinbekommen, daher befülle ich in meiner Applikation (jede Nacht...) pro Person ein Konfigurationsdokumente, dass die Gruppen-Mitgliedschaft enthält. Unter R6 ist es ja zum Glück nicht mehr so aufwendig... daher habe ich mich nicht mehr genauer damit beschäftigt... Ein nicht von mir verfolgter Ansatz war auch dass man per LDAP eine IsMember Anfrage durchführen kann... Allerdings weiß ich nicht wirklich ob das gut funktionieren kann, mittels Lotus Script.

Falls die Clients nur R5 sind und ein R6 Server vorliegen sollte?! Könntest du ggf. mit Glombi's Ansatz dass ermitteln über einen Agenten, der auf dem Server läuft....

Gruss
Chris

Offline Christopher

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.060
  • Geschlecht: Männlich
  • Dumm ist der, der dummes tut.
Re: ob Rolle Person X zugeordent ist?
« Antwort #6 am: 03.05.06 - 11:47:51 »
Danke Leute! Also ich werde mir was anderes einfallen lassen.
Client & Server R 5.011
Principal Certified Lotus Professional R5 System Administration
Microsoft Certified Systems Engineer 2000
Microsoft Certified Systems Administrator 2000
Microsoft Certified Systems Administrator 2003
Microsoft Certified Systems Engineer 2003

Offline Christopher

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.060
  • Geschlecht: Männlich
  • Dumm ist der, der dummes tut.
Re: ob Rolle Person X zugeordent ist?
« Antwort #7 am: 03.05.06 - 11:49:55 »
Für mich ist eigentlich klar was Christopher will.

Es soll für den nächsten Bearbeiter eines Antrages innerhalb eines Workflows ermittelt werden, ob diese Person eine bestimmte Rolle besitzt oder nicht.



Genau das wollte ich erreichen! Sorrry, wenn ich mich etwas umständlich ausgedrückt hatte.
Client & Server R 5.011
Principal Certified Lotus Professional R5 System Administration
Microsoft Certified Systems Engineer 2000
Microsoft Certified Systems Administrator 2000
Microsoft Certified Systems Administrator 2003
Microsoft Certified Systems Engineer 2003

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz