abd*_*003 1 java permissions uri web-applications vaadin
我正在使用java框架Vaadin来创建一个Web应用程序.此应用程序具有不同的用户级别,当用户登录时,我根据其权限级别更改菜单.我遇到的问题是阻止用户通过输入URI来访问他们不认为的页面.例如,如果用户登录到应用程序并且只有查看第一页的权限,他仍然可以通过在浏览器搜索栏中键入第二页的URI来访问第二页.
我正在考虑阻止URI导航,但未能成功找到如何在Vaadin中完成.所以我的问题是如何防止Vaadin中的URI导航?如果你有一种阻止用户访问页面的不同方法,他们也不应该随意发布.
谢谢
如果您使用 Vaadin 7 Navigator进行URI导航,则可以注册为ViewChangeListener:如果在beforeViewChange方法中返回"false",则可以停止导航到新视图(如果您愿意,则显示错误消息) .
例如,
navigator.addViewChangeListener(new ViewChangeListener() {
@Override
public boolean beforeViewChange(ViewChangeEvent event) {
View newView = event.getNewView();
String newViewName = event.getViewName();
return canUserAccessView(newView, newViewName);
}
@Override
public void afterViewChange(ViewChangeEvent event) {
//NO-OP
}
});
Run Code Online (Sandbox Code Playgroud)
我的主项目不使用Navigator,因为它是在Vaadin 7之前启动的:我们开发了一个非常相似的框架,它使用URIFragmentListener来做同样的事情.
| 归档时间: |
|
| 查看次数: |
1477 次 |
| 最近记录: |