public String getSecurityServiceClass() { return MBeanUtil.format( config.getSecurityService() != null ? config.getSecurityService().getClass().getName() : null ); }
private Message authorize(GraniteConfig config, final Message message, final AbstractSecurityContext securityContext) { try { if (config.hasSecurityService() && config.getSecurityService().acceptsContext()) return (Message)config.getSecurityService().authorize(securityContext); return (Message)securityContext.invoke(); } catch (Exception e) { return new ErrorMessage(message, e, true); } }
@Override public void modifyHandshake(ServerEndpointConfig config, HandshakeRequest request, HandshakeResponse response) { // Tomcat websocket impl returns request headers in lowercase ???? String connectMessageId = getHeaderOrParameter(request, "connectId", true); String clientId = getHeaderOrParameter(request, "GDSClientId", true); String clientType = getHeaderOrParameter(request, "GDSClientType", true); HttpSession session = (HttpSession)request.getHttpSession(); log.debug( "WebSocket configurator handshake ackId %s clientId %s sessionId %s", connectMessageId, clientId, session != null ? session.getId() : "(none)" ); Gravity gravity = (Gravity)config.getUserProperties().get("gravity"); if (gravity.getGraniteConfig().getSecurityService() != null) gravity.getGraniteConfig().getSecurityService().prelogin(session, request, null); String ctype = getHeader(request, "Content-Type", true); String protocol = getHeader(request, "Sec-WebSocket-Protocol", true); ContentType contentType = WebSocketUtil.getContentType(ctype, protocol); // Hack using a thread local to be sure that the endpoint gets the correct values // Jetty and GlassFish GravityWebSocketConfig.set(connectMessageId, clientId, clientType, contentType, session); }
if (gravity.getGraniteConfig().getSecurityService() != null) gravity.getGraniteConfig().getSecurityService().prelogin(session, request, servletName);
if (gravity.getGraniteConfig().getSecurityService() != null) gravity.getGraniteConfig().getSecurityService().prelogin(session, request, null);
channel.setSession(session); if (gravity.getGraniteConfig().getSecurityService() != null) { try { gravity.getGraniteConfig().getSecurityService().prelogin(session, request instanceof WsHttpServletRequestWrapper ? requestField.get(request) : request, getServletConfig().getServletName());
else if (graniteConfig.getSecurityService() == null && configProvider != null) { SecurityService securityService = configProvider.findInstance(SecurityService.class); graniteConfig.setSecurityService(securityService); if (graniteConfig.getSecurityService() == null) { String securityServiceClassName = null;
try { if (config.hasSecurityService() && config.getSecurityService().acceptsContext()) result = config.getSecurityService().authorize(invocationContext); else result = invocationContext.invoke(); result = config.getSecurityService().authorize(invocationContext); else result = invocationContext.invoke();
try { if (config.hasSecurityService() && config.getSecurityService().acceptsContext()) result = config.getSecurityService().authorize(invocationContext); else result = invocationContext.invoke(); result = config.getSecurityService().authorize(invocationContext); else result = invocationContext.invoke();
if (gravity.getGraniteConfig().getSecurityService() != null) gravity.getGraniteConfig().getSecurityService().prelogin(session, servletUpgradeRequest.getHttpServletRequest(), null);
log.warn("Ignored security operation (no security settings in granite-config.xml): %s", request); else { SecurityService securityService = config.getSecurityService(); try { if (request.isLoginOperation())
else if (!config.getSecurityService().acceptsContext()) { log.debug("Could not process security operation in non supported current context: %s", message); response = new ErrorMessage(message, SecurityServiceException.newNotLoggedInException("Invalid context"), true); SecurityService securityService = config.getSecurityService(); try { Channel channel = getChannel(channelFactory, (String)message.getClientId());