3

У меня есть приложение безопасности для весны, в котором вы хотите включить защиту аннотаций (предварительная авторизация и пост). У меня также есть небольшое примерное приложение, в котором я его уже реализовал. Все работает. Но перемещение конфигураций в основные приложения завершилось неудачно. В консоли нет ошибок. Но аннотации не работают. Кажется, они вообще не читаются. Все версии конфигурации и компонентов полностью совпадают.как отлаживать аннотации авторизации Spring Security

Есть

<security:global-method-security secured-annotations="enabled" /> 

записи в безопасности контекста и сервлетов контекста. Но ни методы @Controller, ни методы @Service не защищены аннотацией в основном приложении.

Как я могу его отладить?

Решенный!

После переключения с < защищенные аннотации глобальной безопасности = «включено» /> до аннотации до/после работы прекрасно работают.

+0

в работе образец я вижу запись журнала: INFO: org.springframework.security.config.method.GlobalMethodSecurityBeanDefinitionParser - Выражения были разрешены. Но в основном приложении я не могу найти его – Alexander

+0

sts marks с «5 Spring AOP-маркер в этой строке» line – Alexander

ответ

5

Установите уровень журнала org.springframework.security для отладки. На вызове метода с аннотациями, вы можете найти сообщения о том, перехватчик применяется журналом, особенно ищу: DEBUG MethodSecurityInterceptor

Обновлен: Это означает, что есть некоторая разница конфигурации между приложением образца и основным приложением Некоторыми указателями на ищет:

  • < глобального метода-безопасности > тег должен быть в том же контексте, что и конфигурации Spring MVC иначе контроллеры не будут постобработке. См. Также: http://docs.spring.io/spring-security/site/docs/3.2.x/reference/htmlsingle/faq.html#faq-method-security-in-web-context

  • Возможно, вам потребуются предварительные аннотации = "включено", с установленным выражениемHandler.

  • убедитесь, что тег < глобального метода-безопасности > в контексте приложения

+0

в примере приложения i see MethodSecurityInterceptor и ExpressionBasedPostInvocationAdvice. но в основном приложении их нет (только intercept.FilterSecurityInterceptor). – Alexander

+0

вопрос был, как я могу отлаживать причины аннотации не используются. – Alexander

+1

Вы правы! пред-пост-аннотации вместо обеспеченных работ. – Alexander