GWT平台把关人和嵌套演示者
我想知道一些关于gwtp守门员的事情:GWT平台把关人和嵌套演示者,gwt,gwt-platform,Gwt,Gwt Platform,我想知道一些关于gwtp守门员的事情: 如果canReveal()方法返回false,会发生什么?在我的测试中,我被重定向到defaultplace,我可以更改它吗 具有嵌套的演示者,如: MenuPresenter-仅对管理员可见 HomePresenter-对管理员和普通用户可见 当登录用户是普通用户时,我只想“不显示”菜单演示者,这可能吗 谢谢1-“如果canReveal()方法返回false,会发生什么?在我的测试中,我被重定向到defaultplace,我可以更改它吗?” 从: 演示者
canReveal()
方法返回false
,会发生什么?在我的测试中,我被重定向到defaultplace,我可以更改它吗MenuPresenter
-仅对管理员可见
HomePresenter
-对管理员和普通用户可见
当登录用户是普通用户时,我只想“不显示”菜单演示者,这可能吗revealErrorPlace
方法显示的错误。如果不重写该方法,则是由revealDefaultPlace
方法显示的错误
这是revealerorplace
的默认实现:
public void revealErrorPlace(String invalidHistoryToken) {
revealDefaultPlace();
}
因此,您可以在自定义PlaceManager中重写它,并向其添加更多逻辑以重定向到您想要的任何位置
2-“当登录用户是普通用户时,我只想“不显示” 菜单演示者,可能吗?” 可以在演示者中隐藏视图,如下所示:
@Override
protected void onReset() {
super.onReset();
if (!user.getAdmin) {
getView().asWidget().setVisible(false);
}
}
(对于PoupPresenter,您必须重写onReveal()方法)嗯,我认为我们应该更新文档 您还可以覆盖revealUnauthorizedPlace,这将确保您拥有用于错误处理和安全性的disctinc进程
默认情况下,revealUnauthorizedPlace调用RevealErrorPlace。hmm,我这样问是因为我看到一个示例有两个网关守卫,一个用于管理员,一个用于普通用户……是的,您可以有任意数量的网关守卫,一个用于管理员,一个用于登录用户,等等。但我恐怕不明白您的意思。