AspectJ не работает на Spring @controller MethodsJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 AspectJ не работает на Spring @controller Methods

Сообщение Anonymous »

Я попытался сделать безопасность на основе аспекта для контроллеров, но когда я пытаюсь использовать свою аннотацию - это не работает. Но когда я пытаюсь аннотировать более глубокие методы обслуживания - все работает отлично.@Controller
public class HomeController {

@Autowired
private AccountService accountService;

@Loggable
@RequestMapping(value = "/", method = RequestMethod.GET)
public String index(Principal principal, HttpSession session) {
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (!(authentication instanceof AnonymousAuthenticationToken)) {
String email = authentication.getName();
Account acc = accountService.findByEmail(email);
session.setAttribute("user", acc);
}
return principal != null ? accountService.findByEmail(principal.getName()).getRole().equalsIgnoreCase("ROLE_ADMIN") ? "/home/adminSignedIn" : "home/homeSignedIn" : "home/homeNotSignedIn";
}
< /code>

аннотация < /p>

@Target(value = {ElementType.METHOD, ElementType.TYPE})
@Retention(value=RUNTIME)
// @Documented
//@Documented
@Component
public @interface Loggable {

}
< /code>

Аспект класс < /p>

@Aspect
@Component
public class Logger {

Logger logger = LoggerFactory.getLogger("test");

@Around("@annotation(com.proj.server.aspect.log.Loggable)")
public Object traceMethod(ProceedingJoinPoint pjp) throws Throwable {
MethodSignature signature = (MethodSignature) pjp.getSignature();
Method method = signature.getMethod();
String methodName = signature.getDeclaringTypeName() + "#" + method.getName();
logger.info("START : " + methodName);
Object o = pjp.proceed();
logger.info("END : " );
return o;
}
}
< /code>

pom.xml


4.0.0
com.proj.web
proj
war
version
proj

UTF-8
${project.build.sourceEncoding}
1.7
1.7.4
1.7.5
1.0.13
2.1.3.RELEASE
2.1.1.RELEASE



java.net2
Repository hosting the jee6 artifacts
http://download.java.net/maven/2


sonatype-oss-repository
https://oss.sonatype.org/content/groups/public/

true


true



repository.spring.milestone
Spring Milestone Repository
http://repo.spring.io/milestone





org.springframework
spring-framework-bom
4.0.3.RELEASE
pom
import



org.springframework.security
spring-security-bom
4.0.0.M2
pom
import






org.springframework
spring-aop


cglib
cglib
3.1


aspectj
aspectjrt
1.5.4


org.springframework
spring-test

test


org.springframework
spring-core


org.springframework
spring-context



commons-logging
commons-logging




org.springframework
spring-webmvc



org.springframework.security
spring-security-config


org.springframework.security
spring-security-web


org.springframework.security
spring-security-taglibs



org.thymeleaf
thymeleaf
${org.thymeleaf-version}


org.thymeleaf
thymeleaf-spring4
${org.thymeleaf-version}


org.thymeleaf.extras
thymeleaf-extras-springsecurity3
${org.thymeleaf.extras.springsecurity3-version}



org.springframework
spring-jdbc


org.springframework
spring-tx


org.springframework
spring-orm


org.hibernate
hibernate-core
4.3.6.Final


postgresql
postgresql
9.1-901-1.jdbc4



org.springframework.data
spring-data-jpa
1.4.1.RELEASE



javax.validation
validation-api
1.0.0.GA


org.hibernate
hibernate-validator
4.3.0.Final



org.aspectj
aspectjrt
${org.aspectj-version}


org.aspectj
aspectjweaver
1.8.4



org.slf4j
slf4j-api
${org.slf4j-version}


org.slf4j
jcl-over-slf4j
${org.slf4j-version}
runtime


ch.qos.logback
logback-classic
${ch.qos.logback-version}



javax.inject
javax.inject
1



org.apache.geronimo.specs
geronimo-servlet_3.0_spec
1.0
provided



org.codehaus.jackson
jackson-mapper-asl
1.9.9



com.google.guava
guava
14.0.1



Подробнее здесь: https://stackoverflow.com/questions/272 ... er-methods
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Eclipse с Spring Tools 4 предупреждает об общественном @Bean Methods
    Anonymous » » в форуме JAVA
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • AspectJ с Spring AOP и Load Time Weaving (LTW) в приложении, работающем в контейнере Docker.
    Гость » » в форуме JAVA
    0 Ответы
    69 Просмотры
    Последнее сообщение Гость
  • Обновление Spring Boot с 3.2.12 до 3.3.5, вызывающее исключение NoSuchMethodException в AspectJ
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Обновление Spring Boot с 3.2.x до 3.3.x, вызывающее исключение NoSuchMethodException в AspectJ
    Anonymous » » в форуме JAVA
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Обновление Spring Boot с 3.2.x до 3.3.x, вызывающее исключение NoSuchMethodException в AspectJ
    Anonymous » » в форуме JAVA
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»