Domino 9 und frühere Versionen > Administration & Userprobleme

Notes DB Zeitbegrenzung

(1/3) > >>

Bert:
Hallo,
kennt jemand einem Möglichkeit, wie man DB mit einer Zeitbeschränkung "im offenen Zustand" weitergeben kann.
Es müsste ein nichtsichbarer integrierter Agent in der DB enthalten sein, der nach Ablauf der Testphase durch Aktivierung (Lizenznummer) deaktiviert wird !

Danke
Bert

eknori:
Ich habe mal so etwas in der Art gemacht:

Da ging es um einen Import von Kalenderdokumenten auf den Mailfiles der User in eine gemeinsame DB.

Hier habe ich folgenden Mechanismus verwendet. Den Code für den Agenten habe ich in eine "agentencode.lss" ausgelagert und mit Include in den Agenten eingebunden. Damit war der Agent versteckt , die DB ansonsten aber offen.

Zusätzlich war noch eine lic Datei erforderlich. Diese Datei enthielt den Namen des Lizenznehmers, das Ablaufdatum und eine Checksumme aus beiden Angaben.
Damit war eine Manipulation weitestgehend ausgeschlossen.

yoo, das wars

eknori

Notestime:
Hi eknori,

kannst Du das bitte mal ein bischen eingehender erläutern. Ich hätt' da auch Interesse dran.

Bernd

robert:
Hallo Gemeinde,

ich hab da auch gerade noch was zu gefunden, vielleicht hilft das ja auch weiter.  ::)

Um zu vermeiden, dass der Kopierschutz bereits bei der Implementation durch Öffnen der zu schützenden Datenbank aktiviert wird (Datenbank merkt sich das Systemdatum und die Systemzeit), empfielt sich folgende Vorgehensweise:

Erstellen einer neuen Instanz (NSF) der zu schützenden Datenbank mittels Menübefehl "Datei | Datenbank | Neu..." und Angabe der entsprechenden Schablone (ohne Kopieschutz)
Implementation des unten angegebenen LotusScript-Codes im Datenbank-Script dieser neuen NSF
Erstellen einer neuen Schablone (NTF) durch den Menübefehl "Datei | Datenbank | Neue Kopie..." durch Kopieren der NSF
In den Datenbankeigenschaften der NTF unter Gestaltung definieren, dass diese Datenbank eine Schablone ist und den entsprechenden Schablonennamen spezifizieren
Die Gestaltung der NSF ersetzen durch die Schablone NTF mittels Menübefehl "Datei | Datenbank | Gestaltung ersetzen...", Angabe der entsprechenden Schablone und der gesetzten Option "Gestaltung verstecken

Der Kopierschutz wird durch folgende Anweisungen im Datenbank-Script realisiert:

<--- begin of (Declarations) ------>
Declare Function NEMGetCurrentSubprogramWindow Lib "nnotesws.dll" () As Long
Declare Function NEMStopSubprogramWindow Lib "nnotesws.dll" (Byval hwnd As Long) As Integer
<----- end of (Declarations) ------>

<--- begin of Sub Postopen ----->
Sub Postopen(Source As Notesuidatabase)
   
   Dim w As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Dim titel As String
   Dim future As Variant
   
   Set db = Source.Database
   Set doc = db.GetProfileDocument("Verfall")  
   If Not (doc.HasItem("Verfall")) Then
      doc.Verfall = Cdat(Today + 90)
      Call doc.save(True,True)
      Set doc = db.GetProfileDocument("Verfall")
   End If
   titel = db.Title
   future = doc.GetItemValue("Verfall")
   
   If Cdat(future(0)) < Cdat(Today) Then
      Dim wHandle As Long
         ' Get window handle
      wHandle = NEMGetCurrentSubprogramWindow
          ' Close current window
      Call NEMStopSubprogramWindow(wHandle)
      Print "Benutzungszeitraum der DB < " + titel + " >  ist abgelaufen!!"
   End If
   
End Sub
<----- end of Sub Postopen ----->

Gruß

Robert

Notestime:
jip, das ist ja schonmal super. jedoch sollte man noch die möglichkeit haben, die db nachträglich über einen lizenzkey freizuschalten.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln