2013-04-15 3 views
1

특정 클래스에 대해 AOP 프록 싱을 방지 할 수 있습니까?일부 클래스의 AOP 프록시 방지 방지

예를 들어, Spring Security의 global-method-security을 사용할 때. 이 경우 주석이있는 대부분의 빈을 프록시로 처리해야합니다. 그러나 일부 콩의 경우 이미 특정 특수 의미를 갖는 사용자 지정 프록시를 사용하고 있습니다.

감사합니다.

답변

0

나는 그것을 할 수있는 간단한 방법이 없다고 생각합니다.

  • SecuredAnnotationSecurityMetadataSource을 확장하고 findAttributes() 메소드를 오버라이드 (override) :

    나는 두 가지 옵션을 참조하십시오. 그런 다음 secured-annotation을 사용 중지하고 metadata-source-ref 속성이있는 SecuredAnnotationSecurityMetadataSource을 사용 설정합니다.

  • 기타 (더 일반적인) 방법, 즉 봄 보안, 등록 bean 정의에 setBeanClassName() 방법을 사용하여 BeanFactoryPostProcessor에 자신 AutoproxyCreatorAbstractAutoProxyCreatorshouldSkip() 메서드를 재정의하고 설정 (간단하지만 봄 보안에서만 작동) AopConfigUtils.AUTO_PROXY_CREATOR_BEAN_NAME. 이 방법의 경우 당신은 당신이 마지막으로 (InfrastructureAdvisorAutoProxyCreator, AspectJAwareAdvisorAutoProxyCreator 또는 AnnotationAwareAspectJAutoProxyCreator)

를 사용하는 AutoProxyCreator 어떤 구현에 대한 돌볼 필요