2015-02-22 5 views
3

Я пытаюсь настроить весенний глобальный метод безопасности с помощью режима консультаций AspectJ, поэтому я могу использовать аннотации @PreAuthorize во всех аннотированных классах @Configurable. Это моя ява конфиги:Весенняя обувь + Весенняя безопасность с AspectJ не работает

@Configuration 
@EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true, mode = AdviceMode.ASPECTJ) 
public class MethodSecurityConfig extends GlobalMethodSecurityConfiguration 

и:

@EnableCaching 
@SpringBootApplication 
@EnableSpringConfigured 
@EnableTransactionManagement(mode = AdviceMode.ASPECTJ) 
@EnableLoadTimeWeaving(aspectjWeaving = EnableLoadTimeWeaving.AspectJWeaving.ENABLED) 
public class WebApplication extends WebMvcConfigurerAdapter 

Это мой @Configurable класс:

@Configurable 
public class Entity { 
    @PreAuthorize("hasPermission(this, 'publish')") 
    public void method() { } 
} 

Я также добавил пружинные-безопасности-аспекты, как зависимость. Из бревен AspectJ я могу ясно видеть, что Spring безопасность аспекты, связанная применяется на моих @Configurable классах, однако, как только я создаю экземпляр этих классов я получаю это исключение:

Post-processor tried to replace bean instance of type [com.example.Entity] with (proxy) object of type [com.sun.proxy.$Proxy130] - not supported for aspect-configured classes! 

Я использую пружинные загрузки версию 1.2.1, следовательно, весенняя версия безопасности - 3.2.5. Это, кажется, ошибка, которая обсуждалась здесь: Spring Security AspectJMode with @EnableGlobalMethodSecurity not working

Однако эта ошибка не должна влиять на мою версию весенней безопасности ... Существует ли какое-либо обходное решение для этой проблемы?

ответ

0

Хорошо, я решил это. Это была проблема с классом SecurityAutoConfiguration весенней загрузки. Я должен был исключить его из автоматической настройки и безопасности пружины configre вручную - не очень большое дело, но в любом случае ...

+2

Не могли бы вы подробно рассказать о том, как отключить автоконфигурацию и компоненты, которые вы должны были настроить вручную? Я пытаюсь заставить это работать самостоятельно и сталкиваться с тем же сообщением об ошибке с Spring Boot и AspectJ. –

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