我正在使用 GWT 平台开发应用程序,现在我想添加安全部分。这样做的最佳做法是什么?我对安全性的要求是:
- 拥有用户权限;
- 在没有必要权限的情况下向用户隐藏某些地方;
- 在没有必要权限的情况下向用户隐藏页面上的某些元素;
- 保护服务器端免受未经授权的请求;
- 轻松管理所有这些事情(比如在春天使用注释或类似的东西)
我正在使用 GWT 平台开发应用程序,现在我想添加安全部分。这样做的最佳做法是什么?我对安全性的要求是:
拥有用户权限;
使用权限属性为您的用户建模,例如
private int user_type;
在没有必要权限的情况下向用户隐藏某些地方;
使用Gate Keeper的概念
Gate Keeper 是 Singleton,它要求您继承一个名为
boolean canReveal()
使用它,您可以调用服务器并搜索用户权限,然后显示或不显示演示者调用。
如果 Presenter 需要安全性,只需在其代理接口上添加 @UseGateKeeper,例如:
SomePresenter extends Presenter<V,P>{
@UseGateKeeper(YourGateKeeper.class)
SomePresenterProxy extends ProxyPlace{}
}
这将阻止没有某些权限的用户访问演示者。
在没有必要权限的情况下向用户隐藏页面上的某些元素;
一个很好的问题,我从未在 GWTP 项目中看到过这种类型的安全性。但是你总是可以使用 Widget.setVisible(false) ;D,但我不知道 gwtp 是否有一个好的做法。
保护服务器端免受未经授权的请求;
GWTP GWTP 可以将您的每个 ActionHandler 与服务器端 ActionValidator 链接起来,该服务器端 ActionValidator 确定当前客户端是否可以执行该操作
您可以使用 ActionValidator 隐藏一些服务器调用。
读这个
轻松管理所有这些事情(比如在春天使用注释或类似的东西)
如您所见,许多此类安全概念使用注释和其他东西来轻松管理您的应用程序。