"Request Header Login" login module
Author: gop1fe
Publication Date: 9/14/2011 9:29
Hallo,
ich möchte die Authentifizierung auf der Publishingseite über eine HTTP Header Variable machen. Der Login soll transparent sein.
Untesützt das "Request Hader Login" Modul einen transparenten Login?
Mein Ansatz war wie folgt:
Auszug firstpersonalisation.xml
<LOGIN_MODULE class="de.espirit.firstspirit.opt.personalisation.modules.login.RequestHeaderLoginModule" name="Request Header Login">
Auszug web.xml
</servlet-mapping>
</servlet-mapping>
Hier habe ich das Servlet url-Pattern von "*.login" auf alle "app-dir/* angepasst.
Der Login wird jetzt zwar bei jedem Seitenaufruf gemacht, aber beim Auswerten der Redirekt URL fliegt eine NPE und es wir ein Fehler 500 angezeigt.
Kann ich den parameter dynamisch in der firstpersonalisation.xml oder web.xml setzen ?
| [9/14/11 9:55:35:097 CEST] 0000002c SystemOut | O 2212983 [WebContainer : 0] DEBUG de.espirit.firstspirit.opt.personalisation.LoginManager - [SessionId: 0osksmFoYhMVhBfP6hvCTSw] Saving user in session... |
| [9/14/11 9:55:35:098 CEST] 0000002c SystemOut | O 2212984 [WebContainer : 0] DEBUG de.espirit.firstspirit.opt.personalisation.LoginManager - [SessionId: 0osksmFoYhMVhBfP6hvCTSw] User saved in session: true |
| [9/14/11 9:55:35:099 CEST] 0000002c SystemOut | O 2212985 [WebContainer : 0] DEBUG de.espirit.firstspirit.opt.personalisation.servlets.LoginServlet - Jump to login_ok_url. |
[9/14/11 9:55:35:101 CEST] 0000002c ServletWrappe E SRVE0068E: Uncaught exception thrown in one of the service methods of the servlet: fsp-LoginServlet. Exception thrown : java.lang.NullPointerException
| at de.espirit.common.io.ServletUtil.sendLocalRedirect(ServletUtil.java:22) | |
| at de.espirit.firstspirit.opt.personalisation.servlets.LoginServlet.doPost(LoginServlet.java:77) | |
| at de.espirit.firstspirit.opt.personalisation.servlets.LoginServlet.doGet(LoginServlet.java:25) | |
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:743) | |
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) | |
| at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1213) | |
| at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1154) | |
| at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145) | |
| at de.espirit.firstspirit.acl.servlet.MultiAccessControlFilter.doFilter(MultiAccessControlFilter.java:100) | |
| at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190) | |
| at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130) | |
| at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87) | |
| at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:848) | |
| at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:691) | |
| at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:654) | |
| at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:526) | |
| at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3574) | |
| at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:269) | |
| at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:831) | |
| at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478) | |
| at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:133) | |
| at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:450) | |
| at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:508) | |
| at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:296) | |
| at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:270) | |
| at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214) | |
| at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113) | |
| at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:556) | |
| at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:606) | |
| at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:979) | |
| at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1064) | |
| at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1551) |
Danke & viele Grüße
Philipp Götzinger
Tags: header, login, request
-
Author: marro - 9/16/2011 10:27
Alternativ hätten Sie die Authentifizierung auch ganz ohne LoginServlet durchführen können, indem Sie das authorize-Tag des Personalisierungs-Moduls verwenden (Dokumentation FirstSpirit Personalisation Kapitel 5.3). Wird dieses Tag an den Anfang einer JSP-Seite gesetzt, so wird bei jedem Aufruf der Seite automatisch ein Login gemäß der Konfiguration in firstpersonalisation.xml durchgeführt, vorausgesetzt es sind noch keine User-Credentials vorhanden.
0
Please sign in to leave a comment.
Comments
1 comment