Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: MrXYZ am 06.08.03 - 00:13:46
-
sMöchte gerne eine lokale Replik einer DB bzw. eine Kopie verbieten. Habe für das Öffnen der DB einen Navigator mit entsprechender View angegeben.
Im QueryOpen Event des Views habe ich folgenden Sourcecode, der auch wunderbar funktioniert:
Dim session As New NotesSession
Dim db As Notesdatabase
Set db = session.currentdatabase
If db.server="" Then
Msgbox "Hello "+session.commonusername+Chr(13)+"You are not allowed to use a local copy or replica of this database", 16,"Security Feature"
Continue=False
End If
Ende:
Einziges Problem: Er schliesst die DB wieder, ich kann die Kachel aber nicht löschen, da Notes angeblich noch Zugriff auf die DB hat.
Lässt das Continue=False die Session trotzdem offen ?
-
Hi,
versuch's doch mal mit der Formelsprache:
@If(@Subset(@DbName; 1) = ""; @Command([FileCloseWindow]); "")
Axel
-
Hi,
um eine lokale Kopie der Datenbank zu verhindern, sollte man die Datenbank auf dem Server mit der Server-ID verschlüsseln.
Dann kann man sich die Sache mit der Programmierung sparen. Die ist eh kein Sicherheitsmerkmal, denn per Doklinks oder bspw. per Script aus anderen DBs kann ich mir alle Dokumente . über das Backend holen, ohne die DB oder eine View in der DB zu öffnen.
Andreas
-
Hi,
um eine lokale Kopie der Datenbank zu verhindern, sollte man die Datenbank auf dem Server mit der Server-ID verschlüsseln.
Dann kann man sich die Sache mit der Programmierung sparen. Die ist eh kein Sicherheitsmerkmal, denn per Doklinks oder bspw. per Script aus anderen DBs kann ich mir alle Dokumente . über das Backend holen, ohne die DB oder eine View in der DB zu öffnen.
Andreas
Nachfrage @Glombi, für mich ^^
Das mit der Server ID verschlüsselung funktioniert sicherlich nur, wenn die DB nicht auf andere Server repliziert wird (z.B. Clusterpartner), sonst bekommen sicherlich die Replikserver Probleme?
-
Warum sollten die anderen Server Probleme bekommen? Wie die Clients sagen die dem betreffenden Server: "Lies mal die Daten aus DB XYZ!", was der Server natürlich kann - er hat ja die ID zum Entschlüsseln.
Bernhard
-
Habe da auch ein wenig Wissenshunger (habe seit 3,5 Jahren nix mehr gemacht - doch jetzt "darf" ich wieder 8) )
Folgende Situation: Ich habe mehrere Server (kein Cluster), verschlüssele mit der Server1.ID und der Nutzer zieht um auf Server2. Kann er dann noch auf seine Mails zugreifen? Denn die Schlüssel Server1 und Server2 unterscheiden sich ja ....
Im QueryOpen Event des Views habe ich folgenden Sourcecode, der auch wunderbar funktioniert:
Dim session As New NotesSession
Dim db As Notesdatabase
Set db = session.currentdatabase
If db.server="" Then
Msgbox "Hello "+session.commonusername+Chr(13)+"You are not allowed to use a local copy or replica of this database", 16,"Security Feature"
Continue=False
End If
Ende:
Wo trage ich das in der DB ein? Welche View?
Oder gibt es evtl. ab Notes 7 (da soll es für mich jetzt hingehen und mein Kenntnisstand ist von 5.x) eine geschicktere Lösung?
Danke für die Hilfe.
-
Der von "MrXYZ" damals gepostete Code ist totaler Unfug - daran hat sich bis heute nichts geändert.
Zu Deinen Fragen:
Du kannst mit aktuellen Versionen bereits in der ACL festlegen, ob man von dieser DB Repliken oder kopieren anlegen kann.
Wenn auf dem Server verschlüsselte DBs angelegt werden, muss dies natürlich nach dem gleichen Procedere auch auf anderen Servern vorgenommen werden. Also: Procedere bei Server A = Procedere bei Server B.
HTH,
Bernhard
-
Obwohl ein schon sehr alter Task,.... falls mal jemand recherchiert....
Du kannst mit aktuellen Versionen bereits in der ACL festlegen, ob man von dieser DB Repliken oder kopieren anlegen kann.
Leider wird bei der Verwendung der ACL Einstellungen von IBM als "kopieren" auch verstanden, das du weder einen Ausdruck (Hardcopy) erstellen, noch Text Passagen über die Zwischenablage kopieren darfst :(
Das schränkt es ganz schön ein.....