Vaadin 会话和 Spring 安全认证对象

Vaadin Session and Spring Security Authentication object

我已经实现了 Spring Boot/Vaadin 8 应用程序,它使用 Spring 安全性来验证和授权用户。我使用通常的 Thymeleaf/HTML 模板作为我的登录表单(不是 Vaadin UI)。

现在在 Vaadin 应用程序内部,我能够按照 Spring 方式以标准方式访问经过身份验证的用户:

SecurityContextHolder.getContext().getAuthentication()

另一方面,还有另一种纯粹的 Vaadin 机制:

VaadinSession.getCurrent() 

我有一个问题,我是否需要以某种方式将 Spring Authentication 对象放置到 VaadinSession 或者可以单独使用这两种方法并调用SecurityContextHolder.getContext().getAuthentication() 在 Vaadin 应用程序内部哪里需要?

不需要将 Authentication 放在 VaadinSession 内。

基本上 Spring 安全性将您的 Vaadin 应用程序包装在登录后。对于 Vaadin 应用程序本身,它或多或少并不重要。

如果您不想添加视图访问权限,您可以使用自己的 ViewAccessControl 实现来检查经过身份验证的用户是否具有访问特定视图所需的权限。