问题
I have a big Lotus Notes company database containing sensitive data and I want to prevent normal users to replicate this database locally.
Explanation of the main problems :
- sensitive data on laptop
- server deleted documents reappear if the purge interval is more frequent than local replications
- server deleted documents reappear if users modify them locally
These solutions are NOT working in my context :
- uncheck the "replicate or copy documents" in the ACL for users. If done, users cannot copy/paste content in form fields.
- check "temporary disable replication" cause the application is replicated accross multiple servers
- prevent local disk writing
回答1:
You've ruled out all the features that are designed to help you with this, so you can't prevent local replication. All you can do is track it. There are third party products that can help you do the tracking. One of them is called SecurTrac, by a company called ExtraComm. You could write your own tracking, too, using the C API's extension manager routines, or if you don't want to write in C you could ues the Trigger Happy project on OpenNTF, which gives you some boilerplate C code that you can use to trap accesses and which allows you to call Java code to do the rest of the work of actually logging and tracking.
回答2:
This does not prevent replication, but it prevents opening the database as local replica file. I have created a test database and added this code to postopen event of the database script. Just quick and dirty:
Sub Postopen(Source As Notesuidatabase)
Dim db As NotesDatabase
Dim server As String
Set db = source.Database
server = db.Server
If server = "" Then
MsgBox "you are not authorized to use this database as local replica file, it will close after click on ok button"
source.Close
Else
'opening allowed, do whatever you want
End If
End Sub
来源:https://stackoverflow.com/questions/45055520/how-to-prevent-local-replication-of-a-company-database