request.getRemoteUser() in Jetty
Geschrieben von Olaf Willuhn am
Meine Fresse, das hat mich jetzt einen kompletten Tag gekostet. Jetty kann man ja prima als embedded Servlet-Container verwenden. Selbst so Sachen wie SSL und Authentifizierung kann man da völlig frei sowohl via Config-Dateien als auch mit Programm-Code definieren. In deren Wiki ist z.Bsp. beschrieben, wie man Security-Constraints ohne web.xml programmiert. Das funktioniert auch prima. Allerdings liefern folgende Konstrukte in einer JSP-Seite immer
Hier mal der relevante Code laut Doku:
Daher hier die funktionierende Variante: trommelwirbel
null
.request.getUserPrincipal(); request.getRemoteUser();Ist natürlich blöd, wenn die Webanwendung wissen will, wer denn gerade eingeloggt ist.
Hier mal der relevante Code laut Doku:
SecurityHandler sh = new SecurityHandler(); sh.setUserRealm(...); sh.setConstraintMappings(...); WebAppContext webappcontext = new WebAppContext("/pfad/im/dateisystem","/contextpfad"); webappcontext.addHandler(sh); server.setHandler(webappcontext);Damit geht zwar prinzipiell das Login. Allerdings kennt der Request den Usernamen nicht. Grund für das Dilemma: WebAppContext erstellt bereits intern im Konstruktor einen eigenen SecurityHandler. Mit oben genanntem Beispiel-Code besitzt der WebAppContext zwei SecurityHandler - einen internen (und unkonfigurierten) sowie den explizit angegebenen. Bei der Verarbeitung eines HTTP-Requests kommen dann vermutlich beide zum Zug. Der erste autorisiert den User, der zweite plättet ihn wieder.
Daher hier die funktionierende Variante: trommelwirbel
WebAppContext webappcontext = new WebAppContext("/pfad/im/dateisystem","/contextpfad"); SecurityHandler sh = webappcontext.getSecurityHandler(); // die entscheidende Zeile sh.setUserRealm(...); sh.setConstraintMappings(...); server.setHandler(webappcontext);
Trackbacks
Trackback-URL für diesen EintragDieser Link ist nicht aktiv. Er enthält die Trackback-URI zu diesem Eintrag. Sie können diese URI benutzen, um Ping- und Trackbacks von Ihrem eigenen Blog zu diesem Eintrag zu schicken. Um den Link zu kopieren, klicken Sie ihn mit der rechten Maustaste an und wählen "Verknüpfung kopieren" im Internet Explorer oder "Linkadresse kopieren" in Mozilla/Firefox.
Keine Trackbacks
Die Kommentarfunktion wurde vom Besitzer dieses Blogs in diesem Eintrag deaktiviert.
Kommentare
Ansicht der Kommentare: Linear | VerschachteltNoch keine Kommentare