【问题标题】:Vaadin (Flow) 21 Upgrade from 20 - All routes suddenly return 404Vaadin (Flow) 21 从 20 升级 - 所有路线突然返回 404
【发布时间】:2021-11-25 05:47:20
【问题描述】:

我最近尝试从 Vaadin 20 升级到 Vaadin 21。我按照升级 guide 进行操作,一切似乎都开始顺利,没有任何错误消息。 但是当我尝试导航到任何路线时,只加载了我的MainLayout,并且里面的所有内容都加载了未找到的页面(对于每条路线),日志中没有错误消息。在我看来,无论是公开访问还是登录,路径都没有正确填充。

堆栈:

  • Vaadin 21.0.2
  • Spring Boot 2.4.4
  • JDK 11

示例页面的头部配置:

@CssImport("./styles/page/login.css")
@PageTitle("Login")
@Component
@RouteAlias(value = "", layout = MainLayout.class, absolute = true)
@Route(value = "login", layout = MainLayout.class, absolute = true)
@UIScope
public class LoginView {
   // ...
}

未找到页面:

@ParentLayout(MainLayout.class)
@PageTitle("Notfound")
public class CustomRouteNotFoundError extends RouteNotFoundError implements BeforeEnterObserver 

我的路由定义有问题还是安全配置从 Vaadin 20 到 21 发生了变化?

【问题讨论】:

    标签: routes vaadin upgrade vaadin21


    【解决方案1】:

    默认情况下,Vaadin 21 会阻止对所有视图的访问。您需要为每个视图添加注释,指定谁应该有权访问。 @PermitAll 将允许所有登录用户访问该视图。见https://vaadin.com/docs/v21/flow/integrations/spring/view-based-access-control/#annotating-the-view-classes

    【讨论】:

    • 谢谢马库斯,我能够解决这个问题。然而,拥有 Spring 和 Vaadin 站点安全@Secured(Role.USER) @RolesAllowed(Role.USER) btw 感觉有点奇怪:喜欢你在 vaadin 频道上的视频,继续努力!
    • 很遗憾,我还有一些问题 - 跟进问题here
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 2023-03-24
    • 2019-10-28
    • 2022-12-24
    • 2018-08-08
    相关资源
    最近更新 更多