Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet 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
-
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.
-
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
-
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.
-
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
-
Ich spendir mal ne runde Kristallkugelpolitur ;D
-
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
-
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
-
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
-
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
-
...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
-
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
-
Hmmm! Wieder was gelernt. :D
Danke.
Axel
-
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
-
@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
-
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
-
@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
-
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