org.springframework.cloud
diff --git a/pigx-auth/src/main/java/com/pig4cloud/pigx/auth/config/WebSecurityConfigurer.java b/pigx-auth/src/main/java/com/pig4cloud/pigx/auth/config/WebSecurityConfigurer.java
index 6781dd508..7dea9ad2a 100644
--- a/pigx-auth/src/main/java/com/pig4cloud/pigx/auth/config/WebSecurityConfigurer.java
+++ b/pigx-auth/src/main/java/com/pig4cloud/pigx/auth/config/WebSecurityConfigurer.java
@@ -69,7 +69,7 @@ public class WebSecurityConfigurer extends WebSecurityConfigurerAdapter {
.antMatchers(
"/token/**",
"/actuator/**",
- "/mobile/**").permitAll()
+ "/mobile/**","/ws/**").permitAll()
.anyRequest().authenticated()
.and().csrf().disable()
.apply(mobileSecurityConfigurer());
diff --git a/pigx-auth/src/main/java/com/pig4cloud/pigx/auth/config/WebSocketConfig.java b/pigx-auth/src/main/java/com/pig4cloud/pigx/auth/config/WebSocketConfig.java
new file mode 100644
index 000000000..fb3f9aeb6
--- /dev/null
+++ b/pigx-auth/src/main/java/com/pig4cloud/pigx/auth/config/WebSocketConfig.java
@@ -0,0 +1,23 @@
+package com.pig4cloud.pigx.auth.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.messaging.simp.config.MessageBrokerRegistry;
+import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
+import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
+import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;
+
+@Configuration
+@EnableWebSocketMessageBroker
+public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
+ @Override
+ public void registerStompEndpoints(StompEndpointRegistry registry) {
+ registry.addEndpoint("/ws")
+ .setAllowedOrigins("*")
+ .withSockJS();
+ }
+ @Override
+ public void configureMessageBroker(MessageBrokerRegistry registry) {
+ //registry.enableSimpleBroker("/loginToAll");
+ registry.setUserDestinationPrefix("/user/");
+ }
+}
diff --git a/pigx-auth/src/main/java/com/pig4cloud/pigx/auth/handler/PigxAuthenticationSuccessEventHandler.java b/pigx-auth/src/main/java/com/pig4cloud/pigx/auth/handler/PigxAuthenticationSuccessEventHandler.java
index b0d5e49c2..c5f9c2c36 100644
--- a/pigx-auth/src/main/java/com/pig4cloud/pigx/auth/handler/PigxAuthenticationSuccessEventHandler.java
+++ b/pigx-auth/src/main/java/com/pig4cloud/pigx/auth/handler/PigxAuthenticationSuccessEventHandler.java
@@ -18,7 +18,10 @@
package com.pig4cloud.pigx.auth.handler;
import com.pig4cloud.pigx.common.security.handler.AbstractAuthenticationSuccessEventHandler;
+import com.pig4cloud.pigx.common.security.service.PigxUser;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.messaging.simp.SimpMessagingTemplate;
import org.springframework.security.core.Authentication;
import org.springframework.stereotype.Component;
@@ -30,6 +33,9 @@ import org.springframework.stereotype.Component;
@Component
public class PigxAuthenticationSuccessEventHandler extends AbstractAuthenticationSuccessEventHandler {
+ @Autowired
+ SimpMessagingTemplate simpMessagingTemplate;
+
/**
* 处理登录成功方法
*
@@ -39,6 +45,9 @@ public class PigxAuthenticationSuccessEventHandler extends AbstractAuthenticatio
*/
@Override
public void handle(Authentication authentication) {
- log.info("用户:{} 登录成功", authentication.getPrincipal());
+ Object principal = authentication.getPrincipal();
+ log.info("用户:{} 登录成功", principal);
+ PigxUser pigxUser = (PigxUser) principal;
+ simpMessagingTemplate.convertAndSendToUser(pigxUser.getTenantId().toString(),"/loginToAll",pigxUser.getUsername());
}
}