Autor Thema: Berechtigungen für Kategorien  (Gelesen 1229 mal)

Offline kobo3

  • Frischling
  • *
  • Beiträge: 11
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Berechtigungen für Kategorien
« am: 12.06.03 - 17:25:12 »
Hi Leuts,

habe folgendes Problem:
meine Ansicht besteht aus mehreren Kategorien mit untergeordneten Dokumenten.

etwa so:
Kategorie 1
    Thema 1
    Thema 2
Kategorie 2
    Thema 1
    Thema 2

Ich möchte nun mit einer anderen Maske/bzw. Agenten für die einzelnen Kathegorien Berechtigungen setzen (Autor/Leser).
das heißt wenn User ABC auf Kategorie 1 Leser ist, soll er Thema 1 und Thema 2 unter Kategorie 1 lesen können.
alles was unter kategorie 2 steht soll er nicht lesen dürfen.
Ich habe das ganze mit Autorenfeld und Leserfeld probiert, dass Problem bei der Sache ist jedoch, dass man die Dokumente jedesmal aufrufen und wieder speichern muß um die Berechtigungen zu aktualisieren.

Hätte jemand mal ein kleines Beispiel Skript oder ähnliches???

vielen Dank im Voraus
Gruß kobo3

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Berechtigungen für Kategorien
« Antwort #1 am: 12.06.03 - 17:55:19 »
hm..Idee: könntest Du eine "User" Datenbank als Zweit-Db einrichten, die die User und deren Rechte verwaltet? In der eigentlichen Datenbank wird beim Speichern eines Docs per DBLookUp nachgeschaut, welche User/Gruppen für die eingestellte Kategorie Rechte haben.

Das Ergebnis des DBLookUps ändert sich natürlich nicht automatisch in allen bereits angelegten Docs, wenn nun eine weitere Kategorie dazukommt (btw, das Thema scheint für die Rechtevergabe uninteressant, wenn ich es richtig verstanden habe). Dazu muß man die bestehenden Docs per Agentlauf updaten. Das kann zB dann passieren, wenn ein Admin in der "User" DB eine neue Kategorie hinzufügt, wobei Docs natürlich nicht upgedatet werden sollten, wenn die User tagsüber in der eigentlichen DB surfen wegen möglichen Speicherkonflikten.
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Berechtigungen für Kategorien
« Antwort #2 am: 12.06.03 - 20:39:55 »
... so ganz habe ich dein Anliegen noch nicht verstanden. Wie legst du den rein praktisch fest, ob ein User eine Kategorie lesen können soll, oder nicht?

ata
« Letzte Änderung: 12.06.03 - 20:40:17 von ata »
Grüßle Toni :)

Offline bob

  • Aktives Mitglied
  • ***
  • Beiträge: 166
  • Geschlecht: Männlich
  • R5
Re:Berechtigungen für Kategorien
« Antwort #3 am: 12.06.03 - 20:52:33 »
Hi,

ich hatte das mal so gelöst - wenn ich jetzt die Frage richtig verstanden habe....

Anforderung war:
 - in der DB darf jeder lesen
 - nur wenn im Feld "Bereich" steht "Intern", dann nur Leute mit der Rolle [Intern]


Umgesetzt habe ich es wie folgt:
 - für jeden Bereich eine eigene Ansicht erstellt, eben auch für "INTERN" eine separate Ansicht
 - in den Ansichtseigenschaften "INTERN" halt nur der Rolle [Intern] den Zugriff gegeben

Dann noch (u.U. WICHTIG !!) sicherstellen, dass auch User, die einen Dok-Link bekommen auf ein Dok "Intern", dann auch nicht zugreifen dürfen!

Also 1 Normale Maske, und eine 2. Maske "Intern", und jew. ins Queryclose:

Sub Queryclose(Source As Notesuidocument, Continue As Variant)
   
   If Source.EditMode = False Then
      Exit Sub
   End If
   
   Dim doc As NotesDocument
   
   Set doc = Source.Document
   
   Dim uidoc As NotesUIDocument      
   Dim session As NotesSession   
   
   
   If doc.savechecker (0) = "0" Then
      Exit Sub
   Else
   End If
   
   If doc.Bereich (0) = "INTERN" Then
      doc.Form = "frmINTERN"
   Else
      doc.Form = "frmNormal"
   End If
   
   Call doc.Save (True, False, True)
   
End Sub


Dazu sollte dann in der Maske noch ein Feld "savechecker" sein mit der Formel

@If(@IsDocBeingSaved; "1";"0")



Ist vielleicht auch ein möglicher Ansatz....  ;)


bye,
Bob

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Berechtigungen für Kategorien
« Antwort #4 am: 12.06.03 - 21:04:34 »
... du benötigst zwei Gruppen, eine für interne Leser und eine für externe Nichtleser. Die Gruppen nimmst du in der ACL auf und weist ihnen die Rollen [Intern] und [Extern] zu. Zusätzlich nimmst du noch eine Rolle [Admin] auf.

... in deinen Dokumenten hast du ein Leserfeld, in dem immer die Rolle [Admin] und die Rolle [Intern] enthalten ist.

... die Mitglieder der Gruppe "#Intern" können die Dokumente sehen und lesen, die Mitglieder der Gruppe "#Extern" können die Dokumente noch nicht einmal sehen...

... sollen sie Lesen können, dann nimmst du sie in dem Leserfeld zusätzlich auf...

ata
« Letzte Änderung: 12.06.03 - 21:05:29 von ata »
Grüßle Toni :)

Offline kobo3

  • Frischling
  • *
  • Beiträge: 11
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Berechtigungen für Kategorien
« Antwort #5 am: 13.06.03 - 06:48:56 »
habe das ganze jetzt etwas anders gelöst.
habe noch zwei Masken und 2 Ansichten gemacht.
eine Maske + Ansicht für Leser und eine Maske + Ansicht für Autor.
in den Masken gibt es jeweils eine Dialogliste mit den schon vorhandenen Kategorien und eine Dialogliste mit der Zugriffskontrolliste.
In meinen normalen Dokumenten (Masken) habe ich jeweils ein Autoren und ein Leserfeld. Die felder lesen nun die Berechtigungen per DbLooup aus den beiden Ansichten (Leser und Autor) anhand der Kategorie aus.

etwa so:
@Trim(@If(fldcategories!="";@Name([Canonicalize];@DbLookup("":"NoCache";"";"asReader";fldCategories;2));""))

habe jetzt nur noch ein Problem mit dem Aktualisieren.
Muss das ganze mit nem extra Button machen wo drinnen steht:

@SetTargetFrame("Content");
@Command([OpenView]; "ASGROUP");
@Command([ToolsRefreshAllDocs])

(ASGROUP ist übrigens die Ansicht wo meine normalen Dokumente stehen)

Gibt es nicht die Möglichkeit, wenn ich die Maske Leser bzw. Autor abspeichere, dass die anderen Dokumente aktualisiert werden und ich trotzdem in meiner aktuellen Ansicht bleibe??

trotzdem erst mal vielen Dank für eure zahlreichen Tips.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz