X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fhttp%2FPrivateServletContextHelper.java;h=b5dc7ba6f7586f637d43c0524a77f05ff37d8d7c;hb=26c4a74d21474d2c8097f3180fc642b169ad61ca;hp=62e74c34fcad2d889b5d31a391485442cd6a739e;hpb=43a797b3947a43d4fe41502b0a2b20adf8acaf2a;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/http/PrivateServletContextHelper.java b/org.argeo.cms/src/org/argeo/cms/internal/http/PrivateServletContextHelper.java index 62e74c34f..b5dc7ba6f 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/http/PrivateServletContextHelper.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/http/PrivateServletContextHelper.java @@ -1,53 +1,19 @@ package org.argeo.cms.internal.http; -import java.io.IOException; -import java.net.URL; -import java.util.Map; - import javax.security.auth.login.LoginContext; -import javax.security.auth.login.LoginException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.api.NodeConstants; -import org.argeo.cms.auth.HttpRequestCallbackHandler; -import org.osgi.framework.Bundle; -import org.osgi.framework.FrameworkUtil; -import org.osgi.service.http.context.ServletContextHelper; - -public class PrivateServletContextHelper extends ServletContextHelper { - private final static Log log = LogFactory.getLog(PrivateServletContextHelper.class); - +/** Servlet context forcing authentication. */ +public class PrivateServletContextHelper extends CmsServletContextHelper { // TODO make it configurable private final String httpAuthRealm = "Argeo"; private final boolean forceBasic = false; - // use CMS bundle for resources - private Bundle bundle = FrameworkUtil.getBundle(getClass()); - - public void init(Map properties) { - - } - - public void destroy() { - - } - @Override - public boolean handleSecurity(HttpServletRequest request, HttpServletResponse response) throws IOException { - if (log.isTraceEnabled()) - HttpUtils.logRequestHeaders(log, request); - LoginContext lc; - try { - lc = new LoginContext(NodeConstants.LOGIN_CONTEXT_USER, new HttpRequestCallbackHandler(request, response)); - lc.login(); - } catch (LoginException e) { - askForWwwAuth(request, response); - return false; - } - return true; + protected LoginContext processUnauthorized(HttpServletRequest request, HttpServletResponse response) { + askForWwwAuth(request, response); + return null; } protected void askForWwwAuth(HttpServletRequest request, HttpServletResponse response) { @@ -68,10 +34,4 @@ public class PrivateServletContextHelper extends ServletContextHelper { // response.setContentType("text/html; charset=UTF-8"); } - - @Override - public URL getResource(String name) { - return bundle.getResource(name); - } - }