Autor Thema: Notesdokument als "Superuser" f. Notesuser anlegen?  (Gelesen 5336 mal)

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
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.
Lotus Notes 8.0.2

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Notesdokument als "Superuser" f. Notesuser anlegen?
« Antwort #1 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.
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
Re: Notesdokument als "Superuser" f. Notesuser anlegen?
« Antwort #2 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.
Lotus Notes 8.0.2

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Notesdokument als "Superuser" f. Notesuser anlegen?
« Antwort #3 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.
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
Re: Notesdokument als "Superuser" f. Notesuser anlegen?
« Antwort #4 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.
Lotus Notes 8.0.2

Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Notesdokument als "Superuser" f. Notesuser anlegen?
« Antwort #5 am: 19.05.09 - 11:45:55 »
Warum "mailst" Du dem User nicht einfach das Dokument/die Aufgabe?
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Notesdokument als "Superuser" f. Notesuser anlegen?
« Antwort #6 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!!
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
Re: Notesdokument als "Superuser" f. Notesuser anlegen?
« Antwort #7 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.
Lotus Notes 8.0.2

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
Re: Notesdokument als "Superuser" f. Notesuser anlegen?
« Antwort #8 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.

« Letzte Änderung: 09.06.09 - 12:37:19 von magic_halli »
Lotus Notes 8.0.2

Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Notesdokument als "Superuser" f. Notesuser anlegen?
« Antwort #9 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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz