コード例 #1
0
ファイル: WsChatServer.java プロジェクト: kc87/WebChatSB
 @Override
 public void modifyHandshake(
     ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) {
   super.modifyHandshake(sec, request, response);
   HttpSession httpSession = (HttpSession) request.getHttpSession();
   sec.getUserProperties().put("httpSession", httpSession);
 }
コード例 #2
0
 @Override
 public void modifyHandshake(
     ServerEndpointConfig config, HandshakeRequest request, HandshakeResponse response) {
   HttpSession session = (HttpSession) request.getHttpSession();
   if (null != session) {
     config.getUserProperties().put("demo", 1L);
   }
 }
コード例 #3
0
  @Override
  public void modifyHandshake(
      ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) {
    // Is Authenticated?
    Principal principal = request.getUserPrincipal();
    if (principal == null) {
      throw new RuntimeException("Not authenticated");
    }

    // Is Authorized?
    if (!request.isUserInRole("websocket")) {
      throw new RuntimeException("Not authorized");
    }

    // normal operation
    super.modifyHandshake(sec, request, response);
  }
コード例 #4
0
  @Override
  public void modifyHandshake(
      ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) {

    HttpSession httpSession = (HttpSession) request.getHttpSession();

    sec.getUserProperties().put("header", request.getHeaders().toString());
    sec.getUserProperties().put(HttpSession.class.getName(), httpSession);

    if (request.getHeaders().containsKey("origin")) {
      sec.getUserProperties().put("origin", request.getHeaders().get("origin").get(0));
    }
    if (request.getHeaders().containsKey("user-agent")) {
      sec.getUserProperties().put("user-agent", request.getHeaders().get("user-agent").get(0));
    }
  }
コード例 #5
0
    @Override
    public void modifyHandshake(
        ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) {
      delegate.modifyHandshake(sec, request, response);

      // do not store null keys/values because Tomcat 8 uses ConcurrentMap for UserProperties

      Map<String, Object> userProperties = sec.getUserProperties();
      Object httpSession = request.getHttpSession();
      LOG.trace("httpSession: {}", httpSession);
      if (httpSession != null) {
        userProperties.put("session", httpSession);
      }

      Map<String, List<String>> headers = request.getHeaders();
      LOG.trace("headers: {}", headers);
      if (headers != null) {
        userProperties.put("headers", headers);
      }

      Map<String, List<String>> parameterMap = request.getParameterMap();
      LOG.trace("parameterMap: {}", parameterMap);
      if (parameterMap != null) {
        userProperties.put("parameterMap", parameterMap);
      }

      String queryString = request.getQueryString();
      LOG.trace("queryString: {}", queryString);
      if (queryString != null) {
        userProperties.put("queryString", queryString);
      }

      URI requestURI = request.getRequestURI();
      LOG.trace("requestURI: {}", requestURI);
      if (requestURI != null) {
        userProperties.put("requestURI", requestURI);
      }

      Principal userPrincipal = request.getUserPrincipal();
      LOG.trace("userPrincipal: {}", userPrincipal);
      if (userPrincipal != null) {
        userProperties.put("userPrincipal", userPrincipal);
      }
    }
コード例 #6
0
 @Override
 public void modifyHandshake(
     ServerEndpointConfig config, HandshakeRequest request, HandshakeResponse response) {
   HttpSession httpSession = (HttpSession) request.getHttpSession();
   config.getUserProperties().put(HttpSession.class.getName(), httpSession);
 }
コード例 #7
0
 @Override
 public void modifyHandshake(
     ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) {
   super.modifyHandshake(sec, request, response);
   sec.getUserProperties().put("request-headers", request.getHeaders());
 }