Domino 9 und frühere Versionen > Entwicklung

Navigator beim Start der DB bestimmen

(1/2) > >>

Solaris:
Hallo,

da ich weder in der Notes 5 Hilfe noch hier im Forum darauf gestoßen bin, wollt ich euch fragen ob es möglich ist beim Start einer Datenbank zu sagen welcher Navigator in Abhängigkeit von der Rollenzugehörigkeit einer Person zu öffnen ist  ???
Ich habe eine Dokumentensicherheit hergestellt die ich über Rollen löse. Je nachdem welcher Rolle ein User zugeorfnet ist, soll sich beim Start ein anderer Navigator öffnen.
Zwecks des ganzen ist es, das User mit beschränkten Zugriff manche Punkte im Navigator nicht sehen dürfen und ich habe jetzt mehrer erstellt wovon immer der gestartet werden soll, der für die Rolle zulässig ist.
Leider finde ich nirgends etwas :( bzw weiß net wo ich meine Formel oder Script einarbeiten kann  >:( ???

Oder geht es gar nicht?? Ist es dann möglich das ganze mit normalen Ansichten zu lösen, also das dann auch in Abhängigekit von dne Rollen nur die berechtigten Ansiochten gestartet werden?

So ich hoffe mal ihr könnt mir helfen, ansonsten habe ich mich umsonst künstlerisch betätigt  :o :'(

Nett wäre es, wen ihr mir eine Lösung anbieten könntet, falls mein vorhaben nicht möglich ist  :)

Thanx, Solaris

Rob Green:
wenn Du den Navigator aus R4 meinst, war die Lösung gewesen, ins PostOpen Event vom DatabaseScript eine Formel reinzunehmen:

@if(@contains(@userroles;"[abc]");@command([opennavigator];"ABCNavig");....

So aus dem Kopf sollte die Formel stimmen.

In R5 schaue Dir bitte genauer die Gliederung/Outlines an. Gliederungspunkte werden auf Seiten und die wiederum auf Frames verankert. Mit Seiten kann man Sets von Gliederungen dynamisch ein/ausblenden je nach Rolle. Empfehlung: R5 Developer Handbook auf LDD/RedBooks Sektion

Solaris:
Hi,

also ich habe die selbe Formel die du oben schreibst in das PostOpen Event bei Datenbank-Script eingefügt. Leider passiert da nix, außer das manchmal eine Fehlermeldung ausgegeben wird :(

Ich dachte eigentlichj das würde wieder sehr einfach gehen  ::) ???

Najut, ich schau mla was ich so machen kann.

Thx Rob  :)

Rob Green:
dann poste doch mal die exakte Formel und es wäre auch hilfreich, wenn Du die Fehler nennen würdest.

Solaris:
Also ich erklärer alles nochmal genau:

Ich habe eine DB die mit Rollen die Zugriffsrechte steuert.
Als Rollen gibt es:
[*][Autor][*][Freigabe][*][History][*][Leser][/list]

Je nachdem welcher Rolle man zugeordnet ist, sollte man bestimmte Punkte des Navigators net sehen. Leider ist es nicht möglich  z.B. einen Button zu sagen er solle nur erscheinen wenn der User die Rolle so und so ha.
Nun dachte ich mir, das ich in Abhängigkeit der Rolle des Users eben immer einen eigenen Navigator strate.
Ist der User Mitglied der Rolle [Autor] dann wird der Navigator NavAutor gestartet usw...
Dazu ahbe ich folgende Formel entwickelt:


--- Zitat --- @If(@Contains(@UserRoles;"[Autor]");@Command( [OpenNavigator] ; "NavAutor" );
@Contains(@UserRoles;"[Freigabe]");@Command( [OpenNavigator] ; "NavFreigabe" );@Contains(@UserRoles;"[History]");@Command( [OpenNavigator] ; "NavHistory" );
@Contains(@UserRoles;"[Leser]");@Command( [OpenNavigator] ; "NavLeser" );
@Prompt([OK];"Zugriff verweigert!"; "Es kann kein Navigatortyp für Sie geöffnet werden, da Sie keiner Rolle anghören. Sie haben keinen Zugrif auf die Datenbank") )
--- Ende Zitat ---

Leider gibt es noch ein Problem.
Ein User kann auch Mitglied mehrerer[/n] Rollen sein. Nun weiß ich aber net wie ich das abfragen kann :-/ Mittlerweile habe ich ein Script entwicklet was auch die Rollen eiens Users in einem Array speichert, aber mussw ich dann wirklich für jeden Fall und jede Konstelation der Rollen einen eigenen Navigator erstellen ???

Geht das ganze nicht anders zu lösen indem man z.B. wieder irgendwo angibt: Verbergen wenn @Formel erfüllt ist ?

Das Problem beschäftigt mich echt.
Was für andere Lösungen gäbe es noch für mein Problem?

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln