spring aop攔截設置,不攔截

aop攔截和不攔截

@Pointcut("execution(* com.jzlife.nurse.web..*.*(..)) && !execution(* com.jzlife.nurse.web.file..*.*(..))")  
     

 

@Order(99)
@Aspect
@Component
public class LoginAspect {

	// @PermClass(parmName="stageIdsNotNull",orgCode="orgCode111",prmClass="permClass2222")
	@Autowired
	RedisDataUtil redisDataUtil;
	
	@Autowired
	LogExecutor logExecutor;

	@Pointcut("execution(* com.jzlife.nurse.web..*.*(..)) && !execution(* com.jzlife.nurse.web.file..*.*(..))")  
	public void controllerAspect() {
	}

	@Before("controllerAspect()")
	public void doBefore(JoinPoint joinPoint) {
		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
				.getRequest();
		// HttpServletResponse response = ((ServletRequestAttributes)
		// RequestContextHolder.getRequestAttributes()).getResponse();

		String url = request.getRequestURI();
		String url2 = url.substring(url.lastIndexOf("/") + 1,
				url.lastIndexOf("?") == -1 ? url.length() : url.lastIndexOf("?"));

		if (url2.startsWith("login") || url2.startsWith("loginout")||url2.startsWith("getFile")) {
			return;
		}

		String token = request.getHeader("token");
		if (null == token) {
			token = request.getParameter("token");
		}
		if (null == token) {
			throw new LoginException("登陸過時,或未登陸");
		}
		SysUser sysuser = (SysUser) redisDataUtil.getCurrUser(token);
		if (null == sysuser) {
			throw new LoginException("登陸過時,或未登陸");
		}
		logExecutor.insertoperatlog(request,sysuser.getId(),joinPoint);
		
	}

	 

}

11

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章