X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=cms%2Forg.argeo.cms.integration%2Fsrc%2Forg%2Fargeo%2Fcms%2Fintegration%2FCmsPrivateServletContext.java;h=ac342d3acab2b47f6f73f948d01f1a25be64eedf;hb=69a25048f4a4e78a00e1a8a60455e83e00e06dcc;hp=862d7ee08eda8eab931b31a8c65d987df28e27ac;hpb=d3bee9f6a2c9aea9bc9ab631e935794dcba39b03;p=gpl%2Fargeo-slc.git diff --git a/cms/org.argeo.cms.integration/src/org/argeo/cms/integration/CmsPrivateServletContext.java b/cms/org.argeo.cms.integration/src/org/argeo/cms/integration/CmsPrivateServletContext.java index 862d7ee08..ac342d3ac 100644 --- a/cms/org.argeo.cms.integration/src/org/argeo/cms/integration/CmsPrivateServletContext.java +++ b/cms/org.argeo.cms.integration/src/org/argeo/cms/integration/CmsPrivateServletContext.java @@ -13,8 +13,10 @@ import javax.security.auth.login.LoginException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.argeo.cms.auth.HttpRequestCallbackHandler; -import org.argeo.cms.servlet.ServletAuthUtils; +import org.argeo.cms.auth.RemoteAuthCallbackHandler; +import org.argeo.cms.auth.RemoteAuthUtils; +import org.argeo.cms.servlet.ServletHttpRequest; +import org.argeo.cms.servlet.ServletHttpResponse; import org.osgi.service.http.context.ServletContextHelper; /** Manages security access to servlets. */ @@ -34,18 +36,20 @@ public class CmsPrivateServletContext extends ServletContextHelper { * the login page. */ @Override - public boolean handleSecurity(final HttpServletRequest request, HttpServletResponse response) throws IOException { + public boolean handleSecurity(final HttpServletRequest req, HttpServletResponse resp) throws IOException { LoginContext lc = null; + ServletHttpRequest request = new ServletHttpRequest(req); + ServletHttpResponse response = new ServletHttpResponse(resp); - String pathInfo = request.getPathInfo(); - String servletPath = request.getServletPath(); + String pathInfo = req.getPathInfo(); + String servletPath = req.getServletPath(); if ((pathInfo != null && (servletPath + pathInfo).equals(loginPage)) || servletPath.contentEquals(loginServlet)) return true; try { - lc = new LoginContext(LOGIN_CONTEXT_USER, new HttpRequestCallbackHandler(request, response)); + lc = new LoginContext(LOGIN_CONTEXT_USER, new RemoteAuthCallbackHandler(request, response)); lc.login(); } catch (LoginException e) { - lc = processUnauthorized(request, response); + lc = processUnauthorized(req, resp); if (lc == null) return false; } @@ -54,7 +58,7 @@ public class CmsPrivateServletContext extends ServletContextHelper { @Override public Void run() { // TODO also set login context in order to log out ? - ServletAuthUtils.configureRequestSecurity(request); + RemoteAuthUtils.configureRequestSecurity(request); return null; } @@ -64,8 +68,8 @@ public class CmsPrivateServletContext extends ServletContextHelper { } @Override - public void finishSecurity(HttpServletRequest request, HttpServletResponse response) { - ServletAuthUtils.clearRequestSecurity(request); + public void finishSecurity(HttpServletRequest req, HttpServletResponse resp) { + RemoteAuthUtils.clearRequestSecurity(new ServletHttpRequest(req)); } protected LoginContext processUnauthorized(HttpServletRequest request, HttpServletResponse response) {