[Spring] 웹소켓에서 가상의 유저(Principal) 생성하기(no Security)
웹소켓에서의 유저
스프링 시큐리티(Spring Security)를 사용하는 웹서버의 경우 사용자 정보를 사용하여 인증을 진행하게 되는데 이때 클라이언트의 경우에도 자신의 고유 정보를 통해 사용자 정보와 매칭할 수 있다. 만약 시큐리티(Security)를 사용하지 않을 경우 messagingTemplate.convertAndSendToUser함수를 사용 시 sessionId를 사용해야 하는 불편함이 있는데 이럴 때 가상의 사용자를 생성하면 편하게 사용할 수 있 게 된다.
유저 생성
1 2 3 4 5 6 7 8 9 10 11 12
publicclassAssignPrincipalHandshakeHandlerextendsDefaultHandshakeHandler{ @Override protected Principal determineUser(ServerHttpRequest request, WebSocketHandler wsHandler, Map<String, Object> attributes){ String name = UUID.randomUUID().toString(); returnnew Principal() { @Override public String getName(){ return name; } }; } }