我们从前台往后台传值的时候,传的可能是一个加密后的字符串,但是不希望后台的controller类直接获得是这个加密字符串,而是解密后的字符串。这个时候怎么办呢?可以增加一个aop来处理
@Component
@Aspect
@Order(10000) //order的值越小越优先执行
public class SecurityAspect {
@Autowired
private HttpServletRequest request; // 简单的注入request
@Pointcut("execution(@org.springframework.web.bind.annotation.RequestMapping * *(..))")
public void aspect() {
}
@Around(value = "aspect() and execution(* create(..)))")
public Object aroundCreate(ProceedingJoinPoint joinPoint) throws Throwable {
Object[] params = joinPoint.getArgs();
params[0] = 解密(param[0]); // 这里解密第一个参数
return joinPoint.proceed(params);
}
}
网友评论