Das Notes Forum

Lotus Notes / Domino Sonstiges => Java und .NET mit Notes/Domino => Thema gestartet von: magic_halli am 19.05.09 - 07:53:01

Titel: Notesdokument als "Superuser" f. Notesuser anlegen?
Beitrag von: magic_halli am 19.05.09 - 07:53:01
Hallo,

ich erstelle mittels Java ein Notesdokument:
Code
Session s = NotesFactory.createSession(host, username, pass);
DbDirectory dir = s.getDbDirectory(null);
Database db = dir.openMailDatabase();
Document task = db.createDocument();
...
task.save(true, false);
Hierfür setze ich für die Session jeweils immer einen konkreten Notesuser+Pass ein.

Kann man aber auch mit einem "Notes-Superuser"-Account (admin) ein Notesdokument, bspw. eine Aufgabe erstellen und speichern, jedoch in der Maildatenbank eines normalen Notesusers? Von dem Notesuser ist mir nur der Notes-Benutzername bekannt.

Danke und Gruß

Rico.
Titel: Re: Notesdokument als "Superuser" f. Notesuser anlegen?
Beitrag von: jBubbleBoy am 19.05.09 - 08:12:07
Hier gib es keinen "Super-User-Admin-Account", das ist allein von der ACL abhängig ob ein Dokument erstellt werden darf oder nicht.

Zum anderen ist deine Frage ungenau. Dir sind nur die Logindaten des Notesuser bekannt, möchtest aber wissen ob ein Admin Dokumente erstellen kann??? Wie gesagt schau dir die ACL an.
Titel: Re: Notesdokument als "Superuser" f. Notesuser anlegen?
Beitrag von: magic_halli am 19.05.09 - 08:35:52
Um Dokumente in einer fremden Maildatenbank anzulegen (bspw. als "Adminuser"), muss explizit in dieser Maildatenbank eine Berechtigung zum Anlegen für den "Adminuser" gesetzt sein?!

Wenn das Anlegen dann aber programmatisch geschehen soll, vorausgesetzt die Berechtigung ist gegeben, wie sähe das dann syntaktisch aus??? (anhand meines obigen Codes)
Ich müsste doch hier den berechtigten Adminuser für die Session angeben... Aber er soll das Dokument in der Maildatenbank von "Max Mustermann" (Username = "Max Mustermann") anlegen.
Titel: Re: Notesdokument als "Superuser" f. Notesuser anlegen?
Beitrag von: jBubbleBoy am 19.05.09 - 09:16:29
Schau dir Bitte die ACL an, hier gibt es die Option "Dokumente erstellen", wer diesen Haken hat darf auch Dokument erstellen.

In der Session gibt es keine Befehl "Wechsel den User", das erfolgt nur mit eine Anmeldung bzw der Initiierung der Session.
Titel: Re: Notesdokument als "Superuser" f. Notesuser anlegen?
Beitrag von: magic_halli am 19.05.09 - 11:21:52
In der Session gibt es keine Befehl "Wechsel den User", das erfolgt nur mit eine Anmeldung bzw der Initiierung der Session.

...Also ist es letztendlich nicht möglich, mit den Anmeldedaten eines "Superusers" (der Dokumente bei anderen Notesusern erstellen darf) eine Session zu initialisieren und dann, ein in der Session erstelltes Dokument in die Maildatenbank eines anderen Users zu speichern? So hab ich das verstanden.

Rico.
Titel: Re: Notesdokument als "Superuser" f. Notesuser anlegen?
Beitrag von: m3 am 19.05.09 - 11:45:55
Warum "mailst" Du dem User nicht einfach das Dokument/die Aufgabe?
Titel: Re: Notesdokument als "Superuser" f. Notesuser anlegen?
Beitrag von: jBubbleBoy am 19.05.09 - 11:47:22
In deiner Aussage sind einige Fehler, ich hab dir das doch erklärt oder bin ich blöde??

Natürlich darfst du eine Session erstellen, wenn du die Anmeldedaten kennst. Wenn man ohne wissen der Anmeldedaten eine "Admin-Session" (ich vermute mal bei Dir ist Admin=Superuser)  erstellen kann, so wäre das ein fataler Sicherheitsleck, weil ja dann jeder Code schreiben könnte und damit als "Admin" rumlaufen könnte.

Zitat
... in der Session erstelltes Dokument in die Maildatenbank eines anderen Users zu speichern ...
???
Wie soll den das gehen? Man erstellt in einer DB, z.B. einer Mail-DB, ein Dokument der Befehl dafür ist NotesDatabase.createDocument.
Ob man das machen darf hängt von dem Eintrag in der ACL ab. Man kann kein Dokument in der Session erstellen!!
Titel: Re: Notesdokument als "Superuser" f. Notesuser anlegen?
Beitrag von: magic_halli am 04.06.09 - 13:13:58
Hi,

danke erstmal für die Antworten - war leider einige Zeit offline.

Ich habe mir nochmal alles überdacht...  ;)

Es sollte doch programmatisch möglich sein, als bspw. "Superuser" eine neue Aufgabe für "UserA" anzulegen?!
Im Client funktioniert das ja, wenn UserA seinen Kalender entsprechend für einen bestimmten Nutzer freigibt!

Die Frage ist nur - und hierbei mal alle Sicherheitsbedenken außer acht gelassen - wie funktioniert das programmatisch mittels NCSO.jar???
Hierbei ist mir Username+Pass vom Superuser bekannt und vom UserA ist nur der Username bekannt. Damit sollte es doch programmatisch möglich sein, als Superuser für UserA einen neue Aufgabe anzulegen?

Danke Rico.
Titel: Re: Notesdokument als "Superuser" f. Notesuser anlegen?
Beitrag von: magic_halli am 09.06.09 - 12:34:31
Hi,

ich nochmal.  ;D

EDIT: OMG, ich hab´s direkt nach dem speichern dieses Post´s gelöst! Sorry.  :o
Code
Database mailDB = dir.openDatabase(pathToMailfile);
Nachfolgend Ausführungen sind als hinfällig! Man muss nurmal drüber reden.  ;D


Ich habe jetzt folgenden Ansatz:
1. als Superuser (Admin) Session erstellen
2. auf names.nsf zugreifen
3. auf View "People" der names.nsf zugreifen
4. auf Personendokument eines konkreten NotesUsers, anhand seines Namens, zugreifen
5. Pfad der Mail-DB des konkreten NotesUsers auslesen
Code
Session s = NotesFactory.createSession("<ServerIP>", "AdminUser", "AdminPass");
DbDirectory dir = s.getDbDirectory(null);
Database db = dir.openDatabase("names", false);
View view = db.getView("People");

String notesUser = "Mustermann";
Document personDoc = view.getDocumentByKey(notesUser);
String pathToMailfile = personDoc.getItemValueString("MailFile");
Ich erhalte in der Variable 'pathToMailfile' nun das korrekte Mailfile vom User 'Mustermann' (mail\mmustermann). Soweit, sogut.

Jetzt will ich eigentlich ganz einfach im Mailfile von Mustermann ein Dokument erstellen und speichern - jedoch mit den Superuser-Logindaten.
Mh, ich hab jetzt schon ne Weile getestet - leider ohne Erfolg!

Wie kann ich programmatisch (Java) in dem Mailfile ein Dokument erstellen bzw. erstmal darauf direkt als Superuser zugreifen?


Danke und Gruß

Rico.

Titel: Re: Notesdokument als "Superuser" f. Notesuser anlegen?
Beitrag von: koehlerbv am 10.07.09 - 14:04:46
Rico, lass doch mal diese dummen Begriffe "Admin" oder "Superuser" weg - der Blasenjunge hatte das hier bereits in der ersten Antwort geschrieben: Notes / Domino kennt diese Begriffe (aus gutem Grunde) nicht. "Admin" ist eine Dienststellung, und alle Zugriffsrechte hängen lediglich von der ACL einer DB und ggf. deren Zusammenspiel mit Leser- und Autorenfeldern ab.

Bernhard