Domino 9 und frühere Versionen > ND6: Entwicklung

Auslesen der Userrollen via Script auf bestimmtem Server nicht möglich

(1/2) > >>

DAU-in:
Ich habe für meine Web-Applikation eine Entwicklungs-DB auf einem Entwicklungsserver und eine TestDB auf einem Testserver.
Ich habe auf beiden Servern dieselben Rechte. Auf dem Entwicklungsserver bin ich als Person eingetragen, auf dem Testserver bin ich in der Gruppe der Entwickler.
Die Berechtigungen der Anwender für bestimmte Aktionen will ich nicht nur über rollengesteuerte HideWhen-formeln der Aktionsbuttons erledigen, sondern sicherheitshalber auch im Script vor Ausführung des Codes nochmals die Rollen abfragen.

Jetzt habe ich folgendes Problem:
(dbg ist meine Logfunktion)

              Dim varRoles As Variant      
   varRoles = db.QueryAccessRoles(session.UserName)
   dbg Cstr(varRoles(0))   
   Forall x In varRoles
      dbg Cstr(x)      
   End Forall


Liefert mir seltsamerweise nur für den Testserver Werte zurück, für den Entwicklungsserver habe ich keine Rollen laut Script. HideWhen über Formelsprache funktioniert für meine Rollen aber genauso wie es sollte.

Woran liegt das? Ist jetzt Lotus Script serverabhängig, oder arbeitet QueryAccessRoles nur für Gruppen?

Meine Version ist 6.5.4.

pete_bla:
Hi,

interessant!

laut Help:

--- Zitat von: DesingerHelp7 ---If the name you specify is listed explicitly in the ACL, then QueryAccessRoles returns the roles for that ACL entry and does not check groups.
If the name you specify is not listed explicitly in the ACL, QueryAccess checks to see if the name is a member of a group in the primary address book where the program is running: on a workstation the Personal Address Book; on a server the Domino Directory.
--- Ende Zitat ---
ist das je eher anderst herum zu vermuten (also beim User sind sie da und nicht bei der Gruppe, weil dort ev. ein anderes Adressbuch herangezogen wird)

Ein Effekt ist mit aber schon öfters aufgefallen:
Änderungen an Rollen scheinen nicht sofort aktualisiert zu werden,
z.B. wenn Du die DB im Designer noch offen hast.

Gruss, Pete(r)

DAU-in:
Moin, moin!

Auf dem Entwicklungsserver bin ich nicht nur als Person eingetragen, sondern auch in der Gruppe.

Jetzt habe ich folgendes gemacht: mich auf dem Entwicklungsserver als Person rausgenommen, so dass ich nur über die Entwicklergruppe Zugriff habe.
Effekt: keine Rollen laut Script.

Ich habe das auf dem Testserver nochmals ausprobiert:
Einmal bin ich als Person und gruppe, einmal nur über die Gruppe.
Effekt: ich habe die Rollen laut Script.

 :-:  Ich verstehe das nicht. aber wahrscheinlich muss ich das als die Besonderheiten meiner Applikation abhaken.

Grüsse

Dau-in

umi:
Versuch doch  mal anstatt

--- Code: --- varRoles = db.QueryAccessRoles(session.UserName)

--- Ende Code ---
sowas wie

--- Code: ---varRoles = Evaluate({@userroles})

--- Ende Code ---

DAU-in:
Supi, Umi!

es läuft!

auch wenn ich nicht verstehe warum.

grüsse

Dau-in

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln