Выборочно запретить доступ к подмножеству действий для вошедшего в систему пользователя - PullRequest
1 голос
/ 26 июля 2011

В моем приложении Struts я хочу выборочно перенаправлять некоторых пользователей (в зависимости от их роли) на статическую страницу, когда они получают доступ к некоторым действиям.

Я не ищу здесь полноценное решение для авторизации,но моя проблема очень похожа.

Есть ли способ поместить некоторый флаг или любую другую деталь с действием в struts-config.xml, который можно использовать в коде Java, чтобы определить, попадают ли действия вкатегория, для которой я хочу отказать в доступе выборочно?

ПРИМЕЧАНИЕ. Я не расширяю org.apache.struts.action.Action напрямую для своих действий.Вместо этого я определил абстрактный класс, который расширяет org.apache.struts.action.Action, а остальные действия в моем приложении расширяют этот абстрактный класс.Таким образом, я могу выполнить проверку здесь.Я могу определить тип действия здесь, используя mappings.getPath ().Но я не хочу жестко закодировать список путей, которым я хочу выборочно запретить доступ, вместо этого я с нетерпением жду возможности настроить это в struts-config.xml.

1 Ответ

2 голосов
/ 27 июля 2011

Это можно настроить в файле struts-config.xml с помощью , используя атрибут roles в конфигурации <action> .Вы можете указать роли, которые ваши пользователи должны иметь, чтобы получить доступ к этому конкретному действию.

При этом вы можете избежать проведения теста на mappings.getPath() (что, я согласен с вами, это уродливое решение).

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

Более подробную информацию о Struts можно найти.«роли безопасности в Интернете, но вот базовый пример для начала работы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...