Spring 的 ApplicationListener<AuthenticationSuccessEvent> 打破了@CrossOrigin

Posted

技术标签:

【中文标题】Spring 的 ApplicationListener<AuthenticationSuccessEvent> 打破了@CrossOrigin【英文标题】:Spring's ApplicationListener<AuthenticationSuccessEvent> breaks the @CrossOrigin 【发布时间】:2021-01-05 08:43:28 【问题描述】:

所以我有这个服务器 Spring 应用程序,在控制器上带有 @CrossOrigin 注释(用于我的 React 客户端)。问题是当我实现这个时:

@Component
public class LoginListener implements ApplicationListener<AuthenticationSuccessEvent> 
    @Autowired
    RealtimeAlertsThreadFactory alertsFactory;

  @Override
  public void onApplicationEvent(AuthenticationSuccessEvent event) 
    UserDetails ud = (UserDetails) event.getAuthentication().getPrincipal();
    
    alertsFactory.createAlerts(ud.getUsername());
  

CORS 开始阻止每个请求。有谁知道这是为什么?

【问题讨论】:

【参考方案1】:

哈哈,只需要给监听器本身添加一个@CrossOrigin :)

【讨论】:

以上是关于Spring 的 ApplicationListener<AuthenticationSuccessEvent> 打破了@CrossOrigin的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记——Spring简介;Spring搭建步骤;Spring的特性;Spring中getBean三种方式;Spring中的标签

Spring全家桶笔记:Spring+Spring Boot+Spring Cloud+Spring MVC

Spring--Spring入门

Spring:Spring介绍

Spring浅析Spring框架的搭建

Spring DAO vs Spring ORM vs Spring JDBC