X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=cms%2Forg.argeo.cms.integration%2Fsrc%2Forg%2Fargeo%2Fcms%2Fwebsocket%2FCmsWebSocketConfigurator.java;h=aea1f0a385a25e3c34b277e23990ecf7173f3f85;hb=fbde11e8a342318876a4744c4676d3618bdf8583;hp=298e8ec27f8d96ca7660c78d041d85d873e39af3;hpb=d3bee9f6a2c9aea9bc9ab631e935794dcba39b03;p=gpl%2Fargeo-slc.git diff --git a/cms/org.argeo.cms.integration/src/org/argeo/cms/websocket/CmsWebSocketConfigurator.java b/cms/org.argeo.cms.integration/src/org/argeo/cms/websocket/CmsWebSocketConfigurator.java index 298e8ec27..aea1f0a38 100644 --- a/cms/org.argeo.cms.integration/src/org/argeo/cms/websocket/CmsWebSocketConfigurator.java +++ b/cms/org.argeo.cms.integration/src/org/argeo/cms/websocket/CmsWebSocketConfigurator.java @@ -6,24 +6,24 @@ import java.util.List; import javax.security.auth.Subject; import javax.security.auth.login.LoginContext; -import javax.servlet.http.HttpSession; import javax.websocket.Extension; import javax.websocket.HandshakeResponse; import javax.websocket.server.HandshakeRequest; import javax.websocket.server.ServerEndpointConfig; import javax.websocket.server.ServerEndpointConfig.Configurator; -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.argeo.api.cms.CmsAuth; +import org.argeo.api.cms.CmsLog; +import org.argeo.cms.auth.RemoteAuthCallbackHandler; +import org.argeo.cms.auth.RemoteAuthSession; +import org.argeo.cms.servlet.ServletHttpSession; import org.osgi.service.http.context.ServletContextHelper; /** Customises the initialisation of a new web socket. */ public class CmsWebSocketConfigurator extends Configurator { public final static String WEBSOCKET_SUBJECT = "org.argeo.cms.websocket.subject"; - private final static Log log = LogFactory.getLog(CmsWebSocketConfigurator.class); + private final static CmsLog log = CmsLog.getLog(CmsWebSocketConfigurator.class); final static String HEADER_WWW_AUTHENTICATE = "WWW-Authenticate"; @Override @@ -62,7 +62,8 @@ public class CmsWebSocketConfigurator extends Configurator { @Override public void modifyHandshake(ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) { - HttpSession httpSession = (HttpSession) request.getHttpSession(); + + RemoteAuthSession httpSession = new ServletHttpSession((javax.servlet.http.HttpSession) request.getHttpSession()); if (log.isDebugEnabled() && httpSession != null) log.debug("Web socket HTTP session id: " + httpSession.getId()); @@ -70,8 +71,8 @@ public class CmsWebSocketConfigurator extends Configurator { rejectResponse(response, null); } try { - LoginContext lc = new LoginContext(NodeConstants.LOGIN_CONTEXT_USER, - new HttpRequestCallbackHandler(httpSession)); + LoginContext lc = new LoginContext(CmsAuth.LOGIN_CONTEXT_USER, + new RemoteAuthCallbackHandler(httpSession)); lc.login(); if (log.isDebugEnabled()) log.debug("Web socket logged-in as " + lc.getSubject()); @@ -112,4 +113,3 @@ public class CmsWebSocketConfigurator extends Configurator { // webServerConfig.put(InternalHttpConstants.WEBSOCKET_ENABLED, "true"); //} //} -