📜  spring websocket 允许来源 - Java (1)

📅  最后修改于: 2023-12-03 15:20:13.519000             🧑  作者: Mango

Spring WebSocket 允许来源 - Java

WebSocket 是一种在客户端和服务器之间实现实时通信的技术。Spring 提供了一种使用 WebSocket 的简单方法,即 Spring WebSocket 框架。使用 Spring WebSocket,可以轻松地实现实时通信功能。

然而,在默认情况下,Spring WebSocket 的安全配置会限制 WebSocket 连接的来源地址。为了解决该问题,需要进行一些配置,使得 WebSocket 可以接受来自指定来源地址的连接。

在 Java 中,可以使用以下示例代码来实现 WebSocket 允许来源:

@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
    
    @Override
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
        registry.addHandler(myHandler(), "/myHandler")
                .setAllowedOrigins("http://localhost:8080");
    }

    @Bean
    public WebSocketHandler myHandler() {
        return new MyHandler();
    }
}

在上述代码中,WebSocketHandlerRegistrysetAllowedOrigins 方法用于指定允许的来源地址,这里指定了 http://localhost:8080

需要注意的是,如果需要允许多个来源地址,可以使用 setAllowedOrigins 方法的重载版本,并指定多个参数。

另外,也可以使用通配符 * 来允许所有来源地址,例如:

registry.addHandler(myHandler(), "/myHandler")
        .setAllowedOrigins("*");

以上就是使用 Spring WebSocket 允许来源的方法,需在 WebSocketConfigurer 中进行配置,可以为指定的来源地址接受 WebSocket 连接。