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
实现来检查经过身份验证的用户是否具有访问特定视图所需的权限。
我已经实现了 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
实现来检查经过身份验证的用户是否具有访问特定视图所需的权限。