Vaadin (Flow) 21 从 20 升级 - 所有路由突然 return 404
Vaadin (Flow) 21 Upgrade from 20 - All routes suddenly return 404
我最近尝试从 Vaadin 20 升级到 Vaadin 21。我按照升级 guide 进行操作,一切似乎都顺利开始,没有任何错误消息。
但是当我尝试导航到任何路线时,只有我的 MainLayout
被加载并且里面的所有内容都加载了未找到的页面(对于每条路线),日志中没有错误消息。在我看来,无论是否公开访问或登录,路由都没有正确填充。
堆栈:
- Vaadin 21.0.2
- Spring 启动 2.4.4
- JDK11
示例页面的页眉配置:
@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?
Vaadin 21 默认阻止访问所有视图。您需要向每个视图添加注释,指定谁应该具有访问权限。 @PermitAll
将允许所有登录用户访问该视图。参见 https://vaadin.com/docs/v21/flow/integrations/spring/view-based-access-control/#annotating-the-view-classes
我最近尝试从 Vaadin 20 升级到 Vaadin 21。我按照升级 guide 进行操作,一切似乎都顺利开始,没有任何错误消息。
但是当我尝试导航到任何路线时,只有我的 MainLayout
被加载并且里面的所有内容都加载了未找到的页面(对于每条路线),日志中没有错误消息。在我看来,无论是否公开访问或登录,路由都没有正确填充。
堆栈:
- Vaadin 21.0.2
- Spring 启动 2.4.4
- JDK11
示例页面的页眉配置:
@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?
Vaadin 21 默认阻止访问所有视图。您需要向每个视图添加注释,指定谁应该具有访问权限。 @PermitAll
将允许所有登录用户访问该视图。参见 https://vaadin.com/docs/v21/flow/integrations/spring/view-based-access-control/#annotating-the-view-classes