Check the user of a SockJS request

Issue: SPR-12497
This commit is contained in:
Rossen Stoyanchev
2014-12-02 12:03:15 -05:00
parent 6e54fc960a
commit dc5b5ca8ee
2 changed files with 34 additions and 0 deletions

View File

@@ -17,6 +17,8 @@
package org.springframework.web.socket.sockjs.transport;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.security.Principal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -245,6 +247,15 @@ public class TransportHandlingSockJsService extends AbstractSockJsService implem
return;
}
}
else {
if (session.getPrincipal() != null) {
if (!session.getPrincipal().equals(request.getPrincipal())) {
logger.debug("The user for the session does not match the user for the request.");
response.setStatusCode(HttpStatus.NOT_FOUND);
return;
}
}
}
if (transportType.sendsNoCacheInstruction()) {
addNoCacheHeaders(response);