【发布时间】:2021-05-02 11:50:15
【问题描述】:
我遇到了这个人遇到的同样问题: https://vaadin.com/forum/thread/3383122/17008971
从服务器接收状态时,我尝试通过客户端上的推送(使用 ui.access)刷新内容。该内容需要当前委托人的信息。
final SecurityContext securityContext = SecurityContextHolder.getContext();
final Authentication authentication = securityContext.getAuthentication();
这个
authentication
正在返回 null。
他使用 Vaadin Shared Security 解决了这个问题,但我找不到任何名为 Vaadin Shared Sec 的存储库或库。有没有其他方法可以解决这个问题?
【问题讨论】:
-
持有人通常只根据请求填写。如果将主体和异步任务所需的任何其他内容传递给任务,通常会更容易推理。
-
你在调用 SecurityContextHolder.getContext();从后台线程。如果是这样,那么它应该返回 null 。您需要重构您的视图逻辑,以便它处理与用户相关的信息,而无需您从后台线程直接调用。
标签: spring security vaadin push