Autor Thema: Berechtigung auf Ansicht prüfen bzw. Fehlermeldung unterdrücken  (Gelesen 4738 mal)

Offline Caleb666

  • Junior Mitglied
  • **
  • Beiträge: 76
Hallo,

in einer Datenbank existiert ein Hotspot, welcher eine Ansicht x aus einer anderen Datenbank öffnet.

Die Ansicht x wurde unter deren Eigenschaften so angepasst, das nur bestimmte Gruppen diese Ansicht verwenden dürfen (Eigenschaften --> Ansicht --> Sicherheit --> Wer darf diese Ansicht verwenden?)

Klickt ein nicht berechtigter Anwender auf den Hotspot, so erscheint derzeit folgender IBM Fehlerhinweis: "Ungültiges oder nicht vorhandenes Dokument".

In folgemdem Code habe ich versucht diese Fehlermeldung zu unterdrücken bzw. anpassen, schaffe es jedoch leider nicht....



@SetTargetFrame("Main");
TempVar := @URLOpen("notes://LDS2XY/workflows//WS2014.nsf/de.view.auswertung.workshops?OpenView");
@If(@IsError(TempVar); @Prompt([Ok];"Hinweis";"Fehler.");@Prompt([Ok];"Hinweis";"Erfolg"))


Oder wäre es sinnvoller anstatt die Fehlermeldung abzufangen, den Zugriff des Anwenders  zu prüfen? Wenn ja, wie mache ich das bei einer Ansicht?

Vielen Dank.

« Letzte Änderung: 07.01.15 - 11:26:23 von Caleb666 »

Offline Schnubbel

  • Junior Mitglied
  • **
  • Beiträge: 90
Moin,

mal von hinten durchs Auge als Denkanstoß:

Wie wäre es, wenn du dem Hotspot eine Hide-When-Formel verpasst. Dort fragst du dann die gleiche Gruppe ab wie bei der Ansicht.

Nach dem Motto:"Kein Klick, keine Fehlermeldung"

Gruß

Thorsten
Client -> Notesclient 8.5.3
Betriebssystem ->Windows 7
User-> Thorsten :)

Offline Caleb666

  • Junior Mitglied
  • **
  • Beiträge: 76
Vielen Dank für die Antwort.

Den Hotspot zu verstecken wäre eher die letzte Alternative,
da die Anwender sehen sollen das es diese Auswertung
gibt und bei Bedarf die Berechtigung dafür beantragen können.

Wie beschrieben wurde für die gewünschte Ansicht deren Eigenschaften so angepasst, das nur bestimmte Gruppen diese Ansicht verwenden dürfen (unter dem Punkt "Wer darf diese Ansicht verwenden?")

Wie kann ich die berechtigten Gruppen in der Ansicht abfragen? Wo/In welchem Feld werden diese gespeichert. Konnte leider nichts finden...???

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Und dann ins Knie...

Dann mach doch eine zweite Schaltfläche um Thorsten weiter zu führen.
Wenn keine Berechtigung, dann zeig die zweite Schaltfläche an.

Dann kommt die Meldung, ohne Berechtigung keine Ansicht.
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline Caleb666

  • Junior Mitglied
  • **
  • Beiträge: 76
Jetzt ist diese Variante doch wieder interessant  ;D

Wie jedoch bereits beschrieben, hänge ich bei der Abfrage der Berechtigungen...

Wie prüfe ich die Berechtigung auf eine Ansicht aus einer anderen Datenbank?

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Probier mal bei der Fehlermeldung
Code
@If(@IsError(TempVar); @Failure("There is an error in TempVar"); @Prompt([Ok];"Hinweis";"Erfolg"))
Ist aber nur ein Gedanke. Muss sicher noch anderweitig angepasst werden.

Chris
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline Caleb666

  • Junior Mitglied
  • **
  • Beiträge: 76
@Klafu: Der Befehl bringt leider auch keinen Erfolg.

@URLOpen wird anscheinend nicht als Fehler gewertet, da bei der Prüfung über @IsError
das Ergebnis IMMER "Erfolg" ist.

=>Bei fehlender Berechtigung erscheint immer die Standard IBM-Meldung und im Anschluss das Hinweisfenster "Erfolg".

Falls ich hier nicht weiterkomme würde ich  gerne den Ansatz von "DerAndre" verfolgen.

Jedoch verstehe ich noch nicht ganz, wie ich die Berechtigung auf eine Ansicht aus einer anderen Datenbank prüfe?

Mitch

  • Gast
Zum Ausprobieren:

Was passiert denn bei einem DBLookUp oder DBColumn auf eine Ansicht auf die man keinen Zugriff hat? Da wird doch bestimmt™ ein Fehler zurück gegeben, den du mit @IsError prüfen kannst. Das könnstest du statt @URLOpen mal versuchen...


Gruß,

Mitch

Offline Caleb666

  • Junior Mitglied
  • **
  • Beiträge: 76
Ich habs nun mal mit @DbColumn erfolgreich getestet.

Code
@SetTargetFrame("Main");

TempVar := @DbColumn("":"NoCache";"LDS2XY":"workflows\\WS2014.nsf";"de.view.auswertung.workshops";1);

@If(@IsError(TempVar); @Prompt([Ok];"Fehlende Berechtigung";"Sie sind derzeit nicht für den Zugriff auf diese Auswertung berechtigt.");@URLOpen("notes://LDS2XY/workflows//WS2014.nsf/de.view.auswertung.workshops?OpenView"))

Ich kann nun wie gewünscht den Fehler abfangen und die Fehlermeldung selbst definieren, jedoch fallen nun alle durch @Dbcolumn generierten Fehler darunter,  auch Fehler die evtl. gar nichts mit einer fehlenden Berechtigung zu tun haben....

Lässt sich die Formel noch weiter optimieren?


Bzgl. dem anderen Ansatz bei dem ich die Berechtigung in der Ansicht prüfe, hab ich noch ne Frage offen:

Wie beschrieben wurde für die gewünschte Ansicht deren Eigenschaften so angepasst, das nur bestimmte Gruppen diese Ansicht verwenden dürfen (unter dem Punkt "Wer darf diese Ansicht verwenden?")

Wie kann ich die berechtigten Gruppen in der Ansicht abfragen? Wo/In welchem Feld werden diese gespeichert. Konnte leider nichts finden...Huh


Gruß
Franz



Mitch

  • Gast
Ich kann nun wie gewünscht den Fehler abfangen und die Fehlermeldung selbst definieren, jedoch fallen nun alle durch @Dbcolumn generierten Fehler darunter,  auch Fehler die evtl. gar nichts mit einer fehlenden Berechtigung zu tun haben....

Lässt sich die Formel noch weiter optimieren?

Hmmm, mit fehlerabhängigen Bedingungen innerhalb von @Formeln hab ich noch nicht experimentiert.

Du kannst den Error doch bestimmt auch irgendwie auswerten. Zum Beispiel einfach mal in einen Text umwandeln und gucken was drin steht. Auf Basis dessen kannst du dann weiter verfahren...

Gruß,

Mitch

Offline Caleb666

  • Junior Mitglied
  • **
  • Beiträge: 76
Alles klar, werd ich mal probieren  ;)

Auf die andere Frage bzgl. "Abfrage berechtigter Gruppen in der Ansicht" hat keiner eine Idee bzw. Hilfestellung?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Auf die andere Frage bzgl. "Abfrage berechtigter Gruppen in der Ansicht" hat keiner eine Idee bzw. Hilfestellung?

Formelsprache reicht hierfür nicht. Punktum.

Warum arbeitest Du eigentlich mit Gruppen und nicht mit einer Rolle?

Bernhard

Mitch

  • Gast
Auf die andere Frage bzgl. "Abfrage berechtigter Gruppen in der Ansicht" hat keiner eine Idee bzw. Hilfestellung?
Naja, ich bewege mich hier auf (für mich) unbekanntem Gebiet, aber alle Designelemente sind auch nur Dokumente in der Datenbank. Ich würde mir daher einfach mal die View als Dokument ziehen (Lotus Script, nicht mit Formeln) und mal schauen was für Items drin sind. Vielleicht Author/Reader-Items oder so.

Aber: Wenn der User keinen Zugriff auf die View hat, kriegt er vermutlich auch nicht das Dokument. Von daher sind die Einsatzmöglichkeiten in deinem Fall beschränkt.

Gruß,

Mitch

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Das Item heisst $Readers im Design Document.

Und ja: Keine Berechtigung - kein Zugriff (fehlende "Sichtbarkeit", als würde das Doc nicht existieren).

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz