gwt -平台看门人和嵌套演示器



我想知道一些关于gwtp gatekeeper的事情:

  1. 如果canReveal()方法返回false,会发生什么?在我的测试中,我被重定向到默认位置,我可以改变它吗?

  2. 嵌套演示器,如:

    MenuPresenter -仅对管理员可见。

    HomePresenter -对管理员和普通用户可见。

    当登录用户是普通用户时,我只想"不显示"菜单显示者,这是可能的吗?

谢谢

1 - "如果canReveal()方法返回false,会发生什么?在我的测试中,我被重定向到默认位置,我可以改变它吗?"

来自GWTP wiki:

"演示者处理错误是由您的自定义PlaceManager的revealErrorPlace方法显示的。如果您不重写该方法,那么它就是您的revealDefaultPlace方法所显示的方法。"

revealErrorPlace的默认实现:

public void revealErrorPlace(String invalidHistoryToken) {
    revealDefaultPlace();
}

所以你可以在你的自定义PlaceManager中重写它,并添加更多的逻辑来重定向到你想要的任何地方。


2 - "当登录用户是普通用户时,我只想显示"not display"菜单展示员,可以吗?"

你可以像这样隐藏演示器中的视图:

@Override
protected void onReset() {
    super.onReset();
    if (!user.getAdmin) {
        getView().asWidget().setVisible(false);
   }
}

(对于popuppresentors,你必须重写onReveal()方法)

嗯,我想我们应该更新文档。

您还可以覆盖revealUnauthorizedPlace,这将确保您有一个用于错误处理和安全性的不同进程。

默认情况下,revealUnauthorizedPlace调用revealserorplace。

相关内容

  • 没有找到相关文章

最新更新