我使用基於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