Лучшая практика для контроля доступа к сервису / экрану во время выполнения в веб-приложении на основе Spring - PullRequest
2 голосов
/ 02 декабря 2011

Я управляю несколькими весенними веб-приложениями.например, если мой клиент - это гибкое приложение со многими модулями / экранами.Доступ к экрану или странице или даже сервису Spring контролируется Spring Security в зависимости от роли пользователя.

В определенное время мы можем захотеть полностью заблокировать доступ к этому экрану или сервису независимо от доступа, предоставленного ролью,Может быть, мы хотим снять определенную страницу / экран или сервис для обслуживания.и включите его через определенное время.Какова лучшая практика для достижения этого.Я не хочу перезапускать приложение.

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

Ответы [ 2 ]

0 голосов
/ 02 декабря 2011

Вы всегда можете использовать приложение с помощью Apache httpd (или другого веб-интерфейса с обратным прокси-сервером) и управлять доступом к отдельным URL-шаблонам. Это также дает вам дополнительное преимущество, заключающееся в том, что вы можете иметь хорошую страницу обслуживания, пока вы закрываете все приложение.

0 голосов
/ 02 декабря 2011

Фильтр сервлетов - хороший выбор, если вы хотите заблокировать страницы, известные по URL.Это простое и довольно простое решение.

Spring будет лучше, если вы захотите заблокировать сервисы.Просто оберните классы, которые вы хотели бы заблокировать, и выполните проверку перед вызовом.Создайте конкретное исключение, которое вы можете обработать на уровне представления.

Однажды мы реализовали аналогичную функцию в приложении на основе REST.Глобальный фильтр / аспект блокирует все не-GET методы, эффективно переключая приложение в режим только для чтения.

...