2010-07-09 3 views
0

Мы используем Spring Security для управления доступом к некоторым службам. Он отлично работает на 95% классов. Однако есть два класса, в которых аннотации безопасности полностью игнорируются. Перехватчик безопасности не входит в список перехватчиков для этих двух классов, когда службы вызываются во время выполнения.Spring Security Interceptor не добавляется в класс

Насколько я могу судить, между этими классами и другими работами нет различий. Базовая структура одна и та же, другие используемые аннотации - то же самое. Сканирование класса path для аннотаций поднимает классы. Другие классы в одном пакете работают нормально.

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

ответ

1

Если кому-то еще интересно, то, что происходит, заключается в том, что у нас была круговая ссылка на инъекции между двумя классами. Класс A имел ссылку на класс B, который имел ссылку на класс A.

Когда Spring попыталась создать компонент для класса A, он столкнулся с круговой ссылкой и создал ссылку на ранний бит для класса A, который затем был проксирован. Тем не менее, шаг для добавления метода pointcuts возникает после всего этого, поэтому класс был проксирован без перехватчика безопасности.

Смежные вопросы