我使用基于https://vaadin.com/spring的SpringBoot的VAADIN。除了身份验证之外,事情都很好。我使用基于SpringBoot的SpringSecurity java配置工作正常,并且SecurityContextHolder.getContext().getAuthentication()
在VaadinUI中为我返回当前用户。我的配置是相当这里简单明了:Vaadin + SpringBoot集成和SecurityContextHolder.getContext()为空
http.authorizeRequests()
.antMatchers("/*").authenticated().and().httpBasic()
的问题是,SecurityContextHolder.getContext().getAuthentication()
返回正确的值只对第一个请求时,会显示VaadinUI。然后,对于SecurityContextHolder.getContext()。getAuthentication(),任何后续的Vaadin请求(例如按钮单击)都会返回null。任何想法如何使其按预期工作?
[AFAIK](http://docs.spring.io/spring-security/site/docs/current/reference/html/technical-overview.html#what-is-authentication-in-spring-security),除非你已经设置了[自动执行过滤器](http://docs.spring.io/spring-security/site/docs/current/reference/html/technical-overview.html#tech-intro-sec-context -persistence),你需要通过调用'SecurityContextHolder.getContext()。setAuthentication(...)' – Morfic