Autor Thema: ACL einer DB per LotusScript  (Gelesen 6484 mal)

Offline Dubidu

  • Aktives Mitglied
  • ***
  • Beiträge: 168
  • Geschlecht: Männlich
  • Eins, zwei, drei - eierlei!
ACL einer DB per LotusScript
« am: 27.11.09 - 12:57:28 »
Hallo,
Ist es unter Notes 8.5.1 nun möglich die ACL per LotusScript/Formula einer bestimmten DB zu öffnen (nicht die aktuelle).
Gebe mich auch mit C-API-Lösungen zufrieden.

Danke im Voraus!

Liebe Grüße
Giordano

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: ACL einer DB per LotusScript
« Antwort #1 am: 27.11.09 - 13:02:59 »
Hallo,

Verstehe ich das richtig.
Du moechtest auf die ACL einer DB zugreifen mittels Script?

Das geht doch schon eine Weile.
NotesACL-Klasse


Andreas

Offline Dubidu

  • Aktives Mitglied
  • ***
  • Beiträge: 168
  • Geschlecht: Männlich
  • Eins, zwei, drei - eierlei!
Re: ACL einer DB per LotusScript
« Antwort #2 am: 27.11.09 - 13:46:07 »
Nein, nicht ganz. Ich möchte einen ACL-Dialog einer DB öffnen, sprich der Administrator soll per Knopfdruck einen ACL-Dialog einer bestimmten DB vor sich haben.

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: ACL einer DB per LotusScript
« Antwort #3 am: 27.11.09 - 13:52:31 »
Ist zwar "nur" über @formel gelöst, funktioniert aber

Code
REM { Database Information };
_server := @Name([Abbreviate];"COMM1/WITTE/DE");
_database := "mail/ukrause.nsf";

REM { Strings to use for display };
REM { BEGIN OK To Translate };
_sTitle   := "Corrective Action Error";
_sMsgNoDatabase := "Database " + _server + "!!" + _database + " was not found.";
_sMsgNoAccess  := "You do not have sufficient access to modify the Access Control List for " + _server + "!!" + _database + ".  Please contact a database manager.";
_sMsgZeroAccess := "You are not allowed to access " + _server + "!!" + _database + ".  Please contact a database manager. Alternatively, switch to Full Access Administration mode and retry this corrective action.";
REM { END OK To Translate };

REM { @IsError(@DbExists( };
REM { Test for the existence of the database that we don't have access to };
REM { @DbExists returns @Error if the DB exists, but we don't have access };

REM { !@DbExists( };
REM { Test for the existence of the database };

REM { @IsError(@UserAccess };
REM { Test for zero access to the database };

REM { @TextToNumber(@UserAccess };
REM { Test for proper access to the database };

@If(
 @IsError(@DbExists(_server : _database));
 @Do(
  @Prompt([Ok]; _sTitle; _sMsgZeroAccess);
  @Return("")
  );

 @If(
  !@DbExists(_server : _database);
  @Do(
   @Prompt([Ok]; _sTitle; _sMsgNoDatabase);
   @Return("")
   );

  @If(
   @IsError(@UserAccess(_server : _database));
   @Do(
    @Prompt([Ok]; _sTitle; _sMsgZeroAccess);
    @Return("")
    );

   @TextToNumber(@UserAccess(_server : _database)[1]) < 6;
   @Do(
    @Prompt([Ok]; _sTitle; _sMsgNoAccess);
    @Command([FileOpenDatabase]; _server : _database);
    @UpdateFormulaContext;
    @Command([FileDatabaseACL])
    );

    @Do(
    @Command([FileOpenDatabase]; _server : _database);
    @UpdateFormulaContext;
    @Command([FileDatabaseACL])
    )
   )
 )
)

Ist übrigens aus der DDM Datenbank
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Dubidu

  • Aktives Mitglied
  • ***
  • Beiträge: 168
  • Geschlecht: Männlich
  • Eins, zwei, drei - eierlei!
Re: ACL einer DB per LotusScript
« Antwort #4 am: 27.11.09 - 16:08:00 »
Hi eknori,
danke, werde ich bei Gelegenheit ausprobieren! :)

Liebe Grüße
Giordano

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: ACL einer DB per LotusScript
« Antwort #5 am: 27.11.09 - 22:21:53 »
Irgendwie erschliesst sich mir der Sinn des ganzen nicht. Wenn ich dauernd in einer DB die ACL ändern müsste, stimmt entweder etwas nicht mit der gesamten Organisation / Architektur, oder ich löse das ganz anders.

Ansonsten gibt es doch alle möglichen speziellen Werkzeuge für solche Acts. Der Amin-Client als auch der Notes-Client itself tun ja auch nichts anderes.

Giordano, kannst Du da eine eventuelle Lücke meinerseits schliessen - ich kann mir derzeit eine derartige Situation, die sowas erfordert, einfach nicht vorstellen.

Bernhard

Offline Dubidu

  • Aktives Mitglied
  • ***
  • Beiträge: 168
  • Geschlecht: Männlich
  • Eins, zwei, drei - eierlei!
Re: ACL einer DB per LotusScript
« Antwort #6 am: 09.12.09 - 09:07:21 »
Hi Bernhard,
ich habe eine DB-Verwaltungs-Applikation geschrieben die alle DBs auf den Servern auflistet. Unter anderem soll man ein Dokument markieren können und per Knopfdruck die ACL der DB öffnen. Geht eben schneller und komfortabler.

MFG
Giordano

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: ACL einer DB per LotusScript
« Antwort #7 am: 09.12.09 - 09:12:15 »
Hallo,

Rein interessehalber.

Was verwaltest Du in dieser eigenen Applikation?

Den groessten Teil, denke ich zumindest, ist doch ueber den bereits erwaehnten Admin-Client ebenso komfortabel verwaltbar. Manchmal zwar mit einem oder zwei Klicks mit der Maus mehr, aber.


Andreas

Offline Dubidu

  • Aktives Mitglied
  • ***
  • Beiträge: 168
  • Geschlecht: Männlich
  • Eins, zwei, drei - eierlei!
Re: ACL einer DB per LotusScript
« Antwort #8 am: 09.12.09 - 09:46:49 »
Du kannst zum Beispiel Regeln festlegen wie:

- Max. erlaubte DB-Größe
- Max. erlaubte Dokumente in DB
- Welche ACL-User/Gruppen du in DBs eines bestimmten Server erwartest und mit welchen Rechten.
- Dass du z. B. Repliken von den DBs von Server1 auf Server2 erwartest.

Werden diese Regeln gebrochen, hast du eine schöne übersichtliche Auflistung der DBs und du kannst mit einem Schlag erforderliche Maßnahmen ergreifen. Bei über 10 000 DBs pro Server ist das aufjedenfall erleichternd.

Du kannst auch auf einen Schlag Optionen wie SoftDeletions, Document Locking etc. an- oder ausschalten.

Du kannst außerdem auf einen Schlag DBs auf mehreren Servern erkennen, die zwar denselben Pfad teilen, aber tatsächlich keine Repliken sind (z. B. wenn eine Replik mal gelöscht und anschließend eine neue DB auf denselben Pfad neu erstellt wurde).

Grob gesagt: Du kannst sehr vieles auf einen Schlag erkennen und gleich auf einen Schlag erforderliche Maßnahmen ergreifen. Du wirst dann ebenfalls per E-Mail eine Übersicht der Wartungen erhalten (nicht so häßlich wie bei Notes).

Liebe Grüße
Giordano
« Letzte Änderung: 09.12.09 - 09:50:06 von Dubidu »

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: ACL einer DB per LotusScript
« Antwort #9 am: 14.12.09 - 10:52:25 »
Ich stell auch mal ne Frage hier rein, bezüglich ACL-Entrys:

Ist es bei euch auch so das einen User Gruppe mit ACLEntry.IsPerson behandelt wird ?
Ich wollte die eigentlich im Script per IsGroup abfangen ...

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 ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: ACL einer DB per LotusScript
« Antwort #10 am: 14.12.09 - 11:26:39 »
Also bei mit wird fuer eine Personengruppe
IsGroup und IsPerson mit True angezeigt.

Ist bei Deiner Personengruppe auch der Benutzertyp richtig gesetzt?


Andreas

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: ACL einer DB per LotusScript
« Antwort #11 am: 14.12.09 - 12:01:42 »
Der Ausdruck ISPERSON ist vielleicht etwas unglücklich gewählt, weil er für Personengruppen und Einzelpersonen gleichermaßen TRUE liefert (im Gegensatz zu Servergruppen und Einzelservern).
Dahinter steckt die Berechtigung zum Zugriff mit einem Userinterface. In früheren Versionen konnte man einen Client mit einer (gestohlenen ?) Server-ID starten und dann mit den Rechten und im Namen des Servers agieren.

Da Server-IDs typischerweise kein Passwort haben, ist diese Sicherheitslücke mit der Einführung der UI-Berechtigungseinschränkung geschlossen worden.

Gruß

Norbert
Situs vilate in isse tabernit.

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: ACL einer DB per LotusScript
« Antwort #12 am: 14.12.09 - 12:13:08 »
@Andreas
Ja, die passen.

@euch beide:
Danke für die Info. Dann werde ich mal einfach die Abfrage umdrehen. So sollte es dann klappen.

Nochmal danke an euch !

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...“

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz