Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: joshuax112 am 09.03.06 - 02:34:57

Titel: ACLs automatisch erstellen
Beitrag von: joshuax112 am 09.03.06 - 02:34:57
Hallo @all,

ich möchte für administrative Zwecke ein Formular erstellen mit dem ich ACLs generieren kann bzw. im zweiten Schritt automatisch generieren lassen kann. Wie läßt sich so etwas realisieren? Gibt es hierzu eine Art good case practise?

Thx, Joshi
Titel: Re: ACLs automatisch erstellen
Beitrag von: robertpp am 09.03.06 - 07:46:09
Hier ist zb ein Ansatz:

http://atnotes.de/index.php?topic=19768.msg122692#msg122692

Wie in diesem Eintrag auch ersichtlich geht nur dann wenn du schon zugriff zu der Db hast.
Titel: Re: ACLs automatisch erstellen
Beitrag von: joshuax112 am 09.03.06 - 10:13:39
Danke für die Antwort, allerdings habe ich in erster Instanz noch keine Datenbank mit der ich den User speziell verbinden will. Das kommt erst in einem späteren Schritt, nachdem die ID bereits beim Empfänger gelandet ist. Gibt es denn auch eine Möglichkeit ohne DB?

Gruß, Joshi
Titel: Re: ACLs automatisch erstellen
Beitrag von: umi am 09.03.06 - 10:25:05
Einfach. Bau dir ein Formular, wo du alle Einstellungen der ACL abbildest.
Dann brauchst Du noch die Klasse NotesACL bzw. NotesACL Entry zu studieren und schon sollte eine Lösung machbar sein.
Titel: Re: ACLs automatisch erstellen
Beitrag von: Axel am 09.03.06 - 10:26:26
Gibt es denn auch eine Möglichkeit ohne DB?

???  ???

Du willst eine ACL erstellen für eine DB die es noch gar nicht gibt.


Axel
Titel: Re: ACLs automatisch erstellen
Beitrag von: umi am 09.03.06 - 10:27:45
Ich spendir mal ne runde Kristallkugelpolitur  ;D
Titel: Re: ACLs automatisch erstellen
Beitrag von: Axel am 09.03.06 - 10:31:52
Ich spendir mal ne runde Kristallkugelpolitur ;D

Danke.  ;D

Aber trotzdem ist mir noch nicht so ganz klar, was das werden soll.


Einfach. Bau dir ein Formular, wo du alle Einstellungen der ACL abbildest.
Dann brauchst Du noch die Klasse NotesACL bzw. NotesACL Entry zu studieren und schon sollte eine Lösung machbar sein.

So lässt sich das mit Sicherheit machen, aber ohne dass der Ausführende als Manager in der ACL drinsteht, wirst du auch so Pech haben.


Axel
Titel: It's not a ACL I need... it's a ID-file
Beitrag von: joshuax112 am 09.03.06 - 10:43:48
Hallo,

danke für die Antworten auch wenn sie teilweise nicht gerade zielführend waren :-) Vielleicht sehe ich es aber auch alles durch eine rosarote Brille, bin zu naiv und kenne mich nicht gut genug aus.

Zudem fällt mir gerade auf, dass ich eine ID brauche und sich diese ja von einer ACL unterscheidet. Das habe ich im Eifer des Gefechtes wohl komplett übersehen. Sorry, ich bin seit 3 Tagen mit Notes beschäftigt und da gehen Dinge einfach noch zu schnell und man übersieht schon einige wichtige Dinge.

Also... ich brauche also sicherlich eine ID und keine ACL..

Thx, Joshi
Titel: Re: It's not a ACL I need... it's a ID-file
Beitrag von: Axel am 09.03.06 - 10:53:33
Also... ich brauche also sicherlich eine ID und keine ACL..

Als erstes kommt sicherlich die ID und irgendwann hast du es auch mal mit einer ACL zu tun.

Am besten du beschreibst mal genau was du machen willst. Weil mit deiner ursprünglichen Fragestellung hat das jetzt eigentlich relativ wenig zu tun.

BTW:
Wenn du dich in Notes einarbeiten möchtest/sollst/musst, dann würde ich dir dringend entsprechende Kurse bzw. Literatur empfehlen. Du tust dich dann erheblich leichter.


Axel
Titel: Re: ACLs automatisch erstellen
Beitrag von: joshuax112 am 09.03.06 - 11:04:57
Hallo,

ich muß/möchte mich im Moment in Notes einarbeiten und das leider recht schnell :-) Daher die vielen Fragen. Wenn es zu viele werden, sagt es einfach und ich halte mich ganz zurück. Die Schulungen werden auch kommen, allerdings erst in ein paar Wochen und bis dahin möchte ich noch einges erledigt haben.

Ausganssituatino für das "Problem":

Frage an den Support. Jemand braucht eine Datenbank und für diese Datenbank eine handvoll Benutzer die für eine gewissen Zeit Zugriff über diese IDs auf die Datenbank bekommen. Es ist nicht möglich allen Usern eine eigene ID zu geben. Daher werden für eine gewisse Zeit immer die benötigten IDs verteilt. Hierzu müssen sie - am Besten automatisch - angelegt werden.

Somit sollen automatisch aus den Templates Datenbanken erstellt werden und für diese Datenbank (und evtl. noch einige andere) ZugriffsIDs erstellt und verschickt werden. Dazu gibt es noch eine nette Einladungsmail.

Das ist der Hintergrund der Frage und ich weiß gerade selber nicht wie ich darauf kam, dass ich eine ACL bräuchte (die habe ich ja bereits im Template bzw. muß sie dann anpassen [aber das bekomme ich hin])

Thx, Joshi
Titel: Re: ACLs automatisch erstellen
Beitrag von: Axel am 09.03.06 - 11:47:25
...ich muß/möchte mich im Moment in Notes einarbeiten und das leider recht schnell :-) Daher die vielen Fragen. Wenn es zu viele werden, sagt es einfach und ich halte mich ganz zurück.

So war das nicht gemeint. Du kannst hier Fragen stellen, so viel du willst.

Aber aus deinen Fragen stellt sich heraus, dass dir viele Grundlagen fehlen. Daher der Hinweis auf Kurse und Literatur.


Automatisch IDs erstellen geht so nicht. Das ist ein eigener Prozeß, der über den Admin-Client gehandelt wird. Meines Wissens kann man allerdings mehrere User über eine Textdatei registrieren. Da hab ich aber keine Erfahrung damit.

Das automatisierte Anlegen von Datenbanken und Füllen der ACL könnte man über einen Agenten machen, der sich die Infos aus einem Dokument holt. Das ist aber nicht ganz trivial. Dazu ist aber einiges an Gehirnschmalz zu investieren.

Axel
Titel: Re: ACLs automatisch erstellen
Beitrag von: HH am 09.03.06 - 12:15:44
Automatisch IDs erzeugen geht mit der NotesRegistration Class:

Sub Click(Source As Button)
   Dim tmpDoc As NotesDocument
   Set tmpDoc = thisDb.CreateDocument
   
   If ws.DialogBox( "dlgRegistrierung", True, True, False, False, False, False, "Benutzerregistrierung", tmpDoc, True, False, True ) Then
      Dim reg As NotesRegistration
      Set reg = New NotesRegistration
      Dim expirationDate As New NotesDateTime( "21.06.2100" )
      
      'Voreinstellungen
      reg.CertifierIDFile = tmpDoc.zulassungsstelle(0)
      reg.CreateMailDb = True
      
      reg.EnforceUniqueShortName = False
      reg.Expiration = expirationDate.LSLocalTime
      reg.GroupList = tmpDoc.gruppen
      reg.IDType = ID_HIERARCHICAL
      reg.IsNorthamerican = False
      reg.IsRoamingUser = False
      reg.MailCreateFTIndex = False
      reg.MailInternetAddress = tmpDoc.email(0)
      reg.MailOwnerAccess = 2
      reg.MailSystem = 0
      reg.MailTemplateName = tmpDoc.mailTemplate(0)
      reg.MinPasswordLength = 6
      reg.NoIDFile = False
      reg.OrgUnit = tmpDoc.firma(0)
      reg.RegistrationLog = "log.nsf"
      reg.RegistrationServer = tmpDoc.registrierungsserver(0)
      reg.ShortName = tmpDoc.vorname(0) + " " + tmpDoc.nachname(0)
      reg.StoreIDInAddressBook = False
      reg.StoreIDInMailfile = False
      reg.SynchInternetPassword = False
      reg.UpdateAddressBook = True
      reg.UseCertificateAuthority = False
      
      lastname = tmpDoc.nachname(0)
      Dim fpraefix As String
      fpraefix = Replace( tmpDoc.nachname(0) + tmpDoc.vorname(0), " ", "" )
      fpraefix = Replace( fpraefix, ".", "" )
      fpraefix = extUmlaute( fpraefix )
      idFile = "c:\ids\people\" + fpraefix + ".id"
      mailServer = tmpDoc.mailServer(0)
      firstname = tmpDoc.vorname(0)
      certPW = "xxxxxxxxxxxxx"
      mailDbPath = "mail/" + fpraefix + ".nsf"
      userpw = "xxxxxxxxxxx"
      
      
      If reg.RegisterNewUser( _
      lastname, _
      idFile, _
      mailServer, _
      firstname, _
      middleinitials, _
      certPW, _
      location, _
      comment , _
      maildbPath, _
      fwdDomain, _
      userpw, _
      usertype, _
      altName, _
      altNameLang ) Then
         Msgbox "Die Person wurde erfolgreich registriert!", 64, "Info"
      End If
   End If
End Sub
Titel: Re: ACLs automatisch erstellen
Beitrag von: Axel am 09.03.06 - 12:37:47
Hmmm!  Wieder was gelernt.   :D


Danke.
Axel
Titel: Re: ACLs automatisch erstellen
Beitrag von: joshuax112 am 09.03.06 - 13:22:36
Hallo HH,

vielen Dank für den genialen Post. Das werde ich nachher implementieren. Das hilft mir wirklich weiter. Hatte schon befürchtet die Aussage weiter oben würde stimmen und ich könne das nicht automatisch erstellen.

Vielen, vielen Dank,
  Gruß, Joshi
Titel: Re: ACLs automatisch erstellen
Beitrag von: ascabg am 09.03.06 - 13:27:03
@Joshi (joshuax112)

Bitte beachte aber, dass HH in seinem Code noch eine eigene Dialogmaske mit Eingabefeldern verwendet, die er spaeter in seinem Code verwendet.

Auch muessen Dir die Passwoerter fuer die Certifier-Id's bekannt sein.

Andreas
Titel: Re: ACLs automatisch erstellen
Beitrag von: joshuax112 am 09.03.06 - 13:47:23
Hallo,

danke für den Hinweis. Das viel mir auch auf und das ist auch gut so. Mir ging es ja um das Prinzip und der Code ist genial. Die Passwörter müssen dann eh noch dynamisch erzeugt werden.

Thx und danke für den Hinweis,
  Joshi
Titel: Re: ACLs automatisch erstellen
Beitrag von: ascabg am 09.03.06 - 13:52:52
@Joshi,

Ich meinte NICHT die Passwoerter fuer die zu erstellenden ID-Files
(Notes-User).

Es handelt sich um die Passworter der Certifier-ID's. Und diese sind bereits vergeben.

Andreas
Titel: Re: It's not a ACL I need... it's a ID-file
Beitrag von: joshuax112 am 07.05.06 - 14:22:10
BTW:
Wenn du dich in Notes einarbeiten möchtest/sollst/musst, dann würde ich dir dringend entsprechende Kurse bzw. Literatur empfehlen. Du tust dich dann erheblich leichter.
Hallo,

den Kurs habe ich nun besucht und jetzt merke ich natürlich auch wie merkwürdig meine Fragen waren. Sorry dafür.

Vielen Dank und Gruß, Joshi