gpt4 book ai didi

java - 如何在 Vaadin 14 Web 应用程序中发生 View 类实例化之前拦截检查授权的请求?

转载 作者:行者123 更新时间:2023-12-02 01:07:12 25 4
gpt4 key购买 nike

我正在尝试集成Apache Shiro's Annotation-based Authorization (authz) 进入 Vaadin 14 Web 应用程序。我研究了一些与此主题相关的公开可用的解决方案:

他们似乎都使用相同的解决方案,设置 VaadinServiceInitListener添加BeforeEnterEvent必须实现所有授权逻辑的监听器。

我认为这种解决方案会出现一个问题:

Since Vaadin views are built from the class constructor, the target view class as already been instantiated when reaching the BeforeEnterEvent authz validation, which means that the view is processed whether or not the requester has authorization to access it.

如何在实例化 View 类之前拦截请求,以便我可以使用 Shiro 的注释进行正确的身份验证检查?

最佳答案

目前还没有什么好的方法可以在导航目标类实例化之前拦截导航请求。

作为一般解决方法,您应该确保您没有在类的构造函数中执行任何可能产生安全隐患的操作,而是使用诸如 onAttach 之类的方法,因为它们仅在BeforeEnterEvent 已被调度,并且仅当没有监听器阻止导航时。

这个问题最近已通过 issue #4595 在核心框架中得到解决。 。目前尚未决定在 Vaadin 的哪个版本中引入这些更改,因为它们在某些情况下会影响向后兼容性。

关于java - 如何在 Vaadin 14 Web 应用程序中发生 View 类实例化之前拦截检查授权的请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59865958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com