ich möchte von einem Servlet aus den Nutzer des Klienten abfragen/auslesen. Ich habe dies mit request.getRemoteUser() und request.getPrincipalUser() versucht, nur leider sind die Rückgaben null.
Kann mir jemand sagen wo das Problem liegt oder liegen könnte, und hat jemand noch eine andere Idee, wie ich an den Nutzer herankomme?
was genau interessiert dich:
ein vorher bei dieser Webseite aktiv eingegebener Login-Name?
den könntest/ solltest du dir doch auch manuell irgendwo merken, in Session ablegen usw.
oder willst du den Nutzernamen des Klienten in dessen Betriebssystem haben, ohne dass jener von dieser Neugier erfährt?
schlimm genug falls derartiges gehen sollte, hängt das doch auch von der Auskunftfreudigkeit des Browsers usw. ab,
ein Hin und Her aus komplizierten sich verändernden Standards, wirklich ein wichtiges Thema?
So wie SlaterB schon meint, ich benötige den angemeldeten Nutzer des Betriebssystems. Grundsätzlich sollte das ja nicht gehen. Bisher habe ich auch ActiveX dafür benutzt.
Ich muss den Nutzer mitprotokollieren, und die Site ist auch nicht für die Öffentlichkeit gedacht. Läuft alles im Intranet. Derzeit habe ich das erstmal so gemacht, dass die Anwendung nur mit dem Internet Explorer nutzbar ist, damit ich mittels ActiveX den Nutzer erfragen kann. Nun ist es aber so, dass für die Zukunft diese Funktion nicht mehr bereitgestellt wird von MS. Zumal der Kunde für die Mitarbeiter auch alle anderen Browser nutzbar machen möchte. Ich möchte es dem Kunden ersparen, dass der Administrator auf jedem Rechner ein Tool installiert, was den Nutzer ausliest und dann entweder in eine Datei speichert, oder mittels REST bereitstellt.
Naja, ich sehe da wenn dann nur die Möglichkeit lokal einen Dienst auf jedem Klienten laufen zu lassen, der entweder über einen Port erreichbar ist, oder den eingeloggten Nutzer in einer Datei schreibt. So weit ich gelesen hatte, sei es wohl möglich mit JavaScript lesend auf Dateien zu zugreifen.
Doch das geht natürlich (Stichwort Single-Sign-On).
Im Apache beispielsweise müssen dafür aber Module installiert werden (bspw. mod_auth_kerb). Ist das alles konfiguriert befindet sich der Windows Anmeldename in der Variablen REMOTE_USER.
@EikeB : Wenn ich den Apache dafür dem entsprechend konfiguriere, in wiefern nimmt dass denn Einfluss auf die Klienten? Aus Klientensicht kommt man doch eigentlich aus dem Sicherungsbereich des Browsers nicht aus? Wie funktioniert diese Methode?
Ah ok, Stichwort Kerberos reicht mir schon. Muss ich erstmal dem Kunden unterbreiten. Soweit ich aber noch in Erinnerung habe, kam sowas schon mal in einem anderen Zusammenhang zur Sprache und wurde abgelehnt. Aber nochmal ansprechen kann man es ja.
Du meinst Dateien auf dem lokalen Dateisystem des Rechners auf dem der Browser läuft? Würde mich wundern, wenn da überhaupt was geht. Früher war das ein NO-GO, ging gar nicht.
@Bleiglanz , diese beiden Links waren mir auch geläufig. Nur müßte ich da entsprechend ein Job oder so auf jedem Klienten laufen lassen, der mir nach dem Einloggen den Nutzer in eine Datei schreibt.