[opencms-dev] User login from inside a handler
Robert Spielmann
robert.spielmann at codecentric.de
Mon Jan 4 15:31:21 CET 2010
Hi all,
given code like this:
public void handle(HttpServletRequest request, HttpServletResponse
response, String name) throws IOException, ServletException {
String benutzer =
request.getParameter(REQUEST_PARAMETER_BENUTZERNAME);
String passwort =
request.getParameter(REQUEST_PARAMETER_PASSWORT);
CmsObject cms = null;
try {
cms = OpenCms.getAuthorizationHandler().
initCmsObject(request, benutzer, passwort);
} catch (CmsException e) {
logger.error("CmsObject konnte nicht neu initialisiert werden! Grund:
" + e.getMessage());
logger.info("Da das Cms-Objekt nicht erzeugt werden konnte, erfolgt
nun ein Redirect nach /.");
throw new PleaseRedirectNowException();
}
/* ... */
}
I am trying to login the user with the specified password from a
handler. I get a CmsObject that is correctly initialized, contains the
logged in user and looks pretty good. However, after redirect to the
requested (restricted) resource, I "arrive" there as the Guest user.
This happens because the CmsUUID sessionId is obviously NOT correctly
stored into the HTTP Session, from where OpenCms tries to read it while
initializing the CmsObject for the request to the restricted resource.
If I do all this through a CmsJspActionElement and then
action.getCmsObject().loginUser(...) the session registration works
fine. However, inside a handler, I'm completely unable to get hold of a
CmsJspActionElement because there is no JSP associated with the request. :-)
Anyone have a hint for me how to correctly implement this?
Regards,
Robert Spielmann
--
codecentric GmbH
Merscheider Str. 1
42699 Solingen
Büro: +49 (212) 233628-42
Mobil: +49 (151) 14705709
Fax: +49 (212) 233628-79
Mail: spielmann at codecentric.de
Web: http://www.codecentric.de
Blog: http://blog.codecentric.de
Geschäftsführer: Mirko Novakovic, Rainer Vehns
Sitz der Gesellschaft: Solingen
Registergericht: Amtsgericht Wuppertal, HRB 19214
Diese E-Mail einschließlich evtl. angehängter Dateien enthält
vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht
der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben,
informieren Sie bitte sofort den Absender und löschen Sie diese E-Mail
und evtl. anhängende Dateien umgehend. Das unerlaubte Kopieren, Nutzen
oder Öffnen evtl. anhängender Dateien sowie die unbefugte Weitergabe
dieser E-Mail ist nicht gestattet.
More information about the opencms-dev
mailing list