Das Notes Forum

Lotus Notes / Domino Sonstiges => Java und .NET mit Notes/Domino => Thema gestartet von: Gaert am 16.08.05 - 02:43:43

Titel: Wie functioniert die Authentifizierung gegenüber einer Notes Datenbank
Beitrag von: Gaert am 16.08.05 - 02:43:43
Hallo zusammen!

Ich möchte von einer Web Application, die auf einem WebSphere Application Server v.6 unter Linux läuft, auf eine Notes Datenbank zugreifen.

Dabei habe ich Probleme mich gegen die Datenbank zu authentifizieren. 

Habe bei meinen Recherchen folgenden Code gefunden:

String server = "serverName:63148";
String user = "userName";
String password = "password";
Session s = NotesFactory.createSession(server, user, password);

Da die Authetnifizierung unter Notes meines Wissens über die ID file abläuft, weiß ich nicht genau, was mit username and password gemeint ist.

Beim Ausführen dieses Codes bekomme ich folgende Fehlermeldung.

NotesException: Could not get IOR from Domino Server: java.net.ConnectException: Connection refused

Kann mir jemand helfen?
Titel: Re: Wie functioniert die Authentifizierung gegenüber einer Notes Datenbank
Beitrag von: flaite am 16.08.05 - 10:42:23
Ich hab seit Jahren nicht mehr von Websphere auf Notes zugegriffen.
Aber: Dieser Code versucht eine Authentifizierung über Corba. Dh. auf dem Notesserver muss der entsprechende IIOP Task laufen (Admin HIlfe konsultieren oder Admin fragen).
Du kannst erstmal versuchen eine Notes-User-ID in den Classpath von Websphere zu legen.
Der Fehler ist auf jeden Fall eindeutig eine CORBA Fehlermeldung.
Ich würd das ganze erstmal standalone ohne WAS probieren.
Daneben existieren noch Single Sign On Lösungen, die bei komplexeren Anwendungen sicher interessant ist.

Titel: Re: Wie functioniert die Authentifizierung gegenüber einer Notes Datenbank
Beitrag von: Thomator am 16.08.05 - 12:27:18
Hallo,

wenn Du Dir die Session mit createSession() holst, und als Parameter die IP/Hostname des Servers übergibst, dann bekommst Du immer eine Corba-Session zurück.
Das ist aber nur notwendig, wenn Du Datenbanken auf einer anderen Maschine zugreifen willst.
Laufen der Domino-Server und der Applikation-Server auf der gleichen Maschine, kannst Du auch lokale Sessions benutzen.

In dem Fall muß der Parameter, den Du an erster Stelle an createSession übergibst, ein String mit dem Wert null sein.

Das ist wichtig, Du kannst nicht null übergeben!
String host = null;
Session s = NotesFactory.createSession(host, user, pwd);

Die Authentifizierung erfolgt über das Internetpasswort des Users, Du hast Webzugriff auf die Datenbank.

Deshalb brauchst Du auch keine ID oder so. Die datenbank muss entsprechend in der Web-ACL angepasst sein (Zugriffs-Level).

Thomas


Edit: Ansonsten (wenn Du über Corba zugreifen willst/musst) muss natürlich der diiop-Task laufen, wie Axel ja schon gesagt hat.

Und noch mal Edit: Bei der Verwendung von DIIOP, also Corba, musst Du auch die Klassen aus dem NSCO.jar verwenden. Aus dem Notes.jar kommt dann nur die Klasse 'NotesFactory', mit der Du die Session erzeugst.
Titel: Re: Wie functioniert die Authentifizierung gegenüber einer Notes Datenbank
Beitrag von: Thomator am 16.08.05 - 16:51:17
@Axel(kennwort)

dass man sich über die Java-API mit einem ID-File am Domino infizieren kann hab ich noch nie gesehen. Geht das echt???


Thomas