Передовая практика защиты приложения GWTP

Я работаю над приложением, используя платформу GWT, и теперь я хочу добавить часть безопасности. Как лучше всего это сделать? Мои требования к безопасности:

  • наличие полномочий пользователя;
  • скрывать некоторые места от пользователей без необходимых полномочий;
  • скрыть некоторые элементы на странице от пользователей без необходимых прав;
  • обезопасить серверную часть от несанкционированных запросов;
  • удобное управление всеми этими вещами (например, весной с использованием аннотаций или что-то в этом роде)

person Igor Masternoy    schedule 01.12.2012    source источник


Ответы (1)


наличие полномочий пользователя;

Смоделируйте своих пользователей с атрибутом разрешения, например

 private int user_type;

скрывать некоторые места от пользователей без необходимых полномочий;

Используйте концепцию Gate Keeper.

Gate Keeper — это Singleton, который обязывает вас наследовать метод, называемый

boolean canReveal()

Используя это, вы можете вызывать сервер и искать разрешение пользователя, а затем показывать или нет вызываемого докладчика.

Если презентатору нужна безопасность, просто добавьте @UseGateKeeper в его прокси-интерфейс, например:

SomePresenter extends Presenter<V,P>{
       @UseGateKeeper(YourGateKeeper.class)
       SomePresenterProxy extends ProxyPlace{}
}

Это заблокирует пользователей без какого-либо разрешения на доступ к докладчику.

скрыть некоторые элементы на странице от пользователей без необходимых прав;

Хороший вопрос, я никогда не видел такого типа безопасности в проектах GWTP. Но вы всегда можете использовать Widget.setVisible(false); D, но я не знаю, есть ли у gwtp хорошая практика для этого.

обезопасить серверную часть от несанкционированных запросов;

GWTP GWTP позволяет связать каждый из ваших обработчиков действий с ActionValidator на стороне сервера, который определяет, может ли текущий клиент выполнить действие

Вы можете скрыть некоторые вызовы сервера, используя ActionValidator.

прочитайте это

удобное управление всеми этими вещами (например, весной с использованием аннотаций или что-то в этом роде)

Как видите, многие из этих концепций безопасности используют аннотации и другие вещи для простого управления вашим приложением.

person Bernardo Vale    schedule 06.12.2012