Zum Inhalt springen

Benutzernamen mit Servlets auslesen


Empfohlene Beiträge

Geschrieben

Hallo!

Ich habe da folgendes Problem:

Ich möchte den Usernamen, mit dem der Benutzer an seinem Client angemeldet ist, mit einem Servlet auslesen. Auf den Clients läuft Win NT 4. Die Servlets werden unter Linux entwickelt, Container ist Tomcat.

Bisher habe ich

request.getRemoteUser()

und das request.getUserPrincipal() - Objekt ausprobiert.

Bei beiden kommt "null" zurück :-(

Hat jemand eine Idee wie man sowas hinbekommt???

Danke für Eure Hilfe!!

Geschrieben

http://jcifs.samba.org/

Du musst jcifs als Filter in deine web.xml einbinden. Ein Tutorial findest du auf der Startseite, Beispiele findest du hier:

http://jcifs.samba.org/src/examples/

Noch ein Tipp: Kopier die .jar Datei NICHT in das lib-Verzeichnis deiner Applikation, sondern in das common\lib Verzeichnis.

Steht zwar im Tutorial, funktioniert aber nicht.

Achja, sobald du jcifs richtig eingebunden hast, kannst du einfach mit request.getRemoteUser() den Benutzernamen auslesen.

Geschrieben

Danke schonmal!

Habe nur noch eine Frage zum Einbinden in die web.xml.

Sieht bei mir jetzt foilgendermaßen aus:

<filter>

<filter-name>NTLM HTTP Authentication Filter</filter-name>

<filter-class>jcifs.http.NtlmHttpFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>NTLM HTTP Authentication Filter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

Er scheint den Filter zu benutzen, jedoch bekomme ich beim Aufrufen des Servlets folgenden Fehler:

java.lang.ArrayIndexOutOfBoundsException

at java.lang.System.arraycopy(Native Method)

at jcifs.ntlmssp.Type2Message.toByteArray(Type2Message.java:261)

at jcifs.http.NtlmSsp.authenticate(NtlmSsp.java:90)

at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:112)

...

Falsch eingebunden???

Die Datei jcifs-0.8.2.jar habe ich ins common/lib von tomcat kopiert.

Geschrieben

Da fehlen noch einige params, schau dir mal das Tutorial dazu an. Da steht drinnen welche das sind. Unter anderem musst du nämlich den DC angeben.

So muss das aussehen:

<filter>

<filter-name>NTLM HTTP Authentication Filter</filter-name>

<filter-class>jcifs.http.NtlmHttpFilter</filter-class>

<!-- For development, any SMB server (also jeder Client mit WinNT oder höher!!!) is suitable for validating

password hashes.

-->

<init-param>

<param-name>jcifs.http.domainController</param-name>

<param-value>192.168.1.16</param-value>

</init-param>

<!-- For production use a real domain controller and eliminate a

middle-man server

<init-param>

<param-name>jcifs.smb.client.domain</param-name>

<param-value>NYC-USERS</param-value>

</init-param>

<init-param>

<param-name>jcifs.netbios.wins</param-name>

<param-value>10.169.10.77</param-value>

</init-param>

-->

</filter>

<!-- NTLM HTTP Authentication only works with MSIE

<filter-mapping>

<filter-name>NTLM HTTP Authentication Filter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

-->

Aber wie gesagt, für genauere Infos musst du dir das Tutorial anschauen.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...