package com.newvideo.aspect; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import com.newvideo.domain.AdminInfo; import com.newvideo.util.Constant; @Component @Aspect public class LoginAspect { @Around("execution(public * com.newvideo.controller.admin.api.*.*(..))") public Object verifyLoginState(ProceedingJoinPoint joinPoint) throws IOException { ServletRequestAttributes servletContainer = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes(); HttpServletRequest request = servletContainer.getRequest(); // HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); AdminInfo admin = (AdminInfo) request.getSession().getAttribute(Constant.ADMIN); if(admin==null){ return null; } Object[] args = joinPoint.getArgs(); Object obj = null; try { obj = joinPoint.proceed(args); } catch (Throwable e) { e.printStackTrace(); } return obj; } }