Да и нет.Перехватчики похожи на сервлеты - существует только один экземпляр перехватчика. *
Обратите внимание, однако, что с вашим текущим определением, only перехватчик "loginRequired" определен для этого действия:- none других перехватчиков фреймворка будет запущено.Если вы объявляете <interceptor-ref>
для действия, вы должны определить все перехватчики.
Из конфигурации выглядит так, как будто вы пытаетесь определить, какая группа может получить доступ к действию:эта информация должна храниться в действии , а не в перехватчике, поскольку это инструментируемое действие.
У вас есть несколько вариантов.Вы можете использовать перехватчик «staticParams» для установки информации о действии, вы можете определить и реализовать интерфейс для действия и включить метод, который получает разрешения для этого действия, или использовать аннотации для действия и опросить действие и /или метод действия в перехватчике.
IMO перехватчик должен быть универсальным и не получать эти типы параметров: вы добавляете метаданные действия в перехватчик.Вместо этого добавьте метаданные действия к действию и используйте перехватчик, чтобы воздействовать на эти метаданные.
* Фактически для каждого перехватчика-ref;может быть несколько экземпляров перехватчика, но только при явной ссылке в объявлении стека, и даже тогда будет только один экземпляр перехватчика, общий для запросов, проходящих через этот стек.