|
@ -1,90 +0,0 @@
|
|
|
package com.yihu.wlyy.aop;
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.aspectj.lang.ProceedingJoinPoint;
|
|
|
import org.aspectj.lang.annotation.Around;
|
|
|
import org.aspectj.lang.annotation.Aspect;
|
|
|
import org.aspectj.lang.annotation.Pointcut;
|
|
|
import org.json.JSONObject;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
import org.springframework.web.context.request.RequestContextHolder;
|
|
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
|
|
|
import javax.annotation.PostConstruct;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.PrintWriter;
|
|
|
|
|
|
/**
|
|
|
* Created by Trick on 2017/6/24.
|
|
|
*/
|
|
|
@Aspect
|
|
|
@Component
|
|
|
public class ObserverRequiredAOP {
|
|
|
//Controller层切点路径
|
|
|
@Pointcut("execution(* com.yihu.wlyy.web..*.*(..))")
|
|
|
public void controllerAspect() {
|
|
|
}
|
|
|
public ObserverRequiredAOP() {
|
|
|
//System.out.println("Observer---------------------------------------");
|
|
|
}
|
|
|
|
|
|
|
|
|
@Around("controllerAspect() && @annotation(com.yihu.wlyy.aop.ObserverRequired)")
|
|
|
public Object checkToken(ProceedingJoinPoint point) throws Throwable {
|
|
|
Object o = null;
|
|
|
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
|
|
|
HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
|
|
|
String error = "";
|
|
|
try {
|
|
|
response.setCharacterEncoding("UTF-8");
|
|
|
JSONObject json = getAgent(request);
|
|
|
String observer = json.has("observer") ? json.getString("observer") : "";
|
|
|
if(StringUtils.isNotBlank(observer)&&"1".equals(observer)){
|
|
|
PrintWriter writer=response.getWriter();
|
|
|
writer.write(error(403, "该操作没有权限"));
|
|
|
writer.flush();
|
|
|
return o;
|
|
|
}
|
|
|
}catch (Exception e){
|
|
|
//return o;
|
|
|
}
|
|
|
o = point.proceed();
|
|
|
return o;
|
|
|
}
|
|
|
|
|
|
public String write(int code, String msg) {
|
|
|
try {
|
|
|
JSONObject json = new JSONObject();
|
|
|
json.put("status", code);
|
|
|
json.put("msg", msg);
|
|
|
return json.toString();
|
|
|
} catch (Exception e) {
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public String error(int code, String msg) {
|
|
|
try {
|
|
|
JSONObject json = new JSONObject();
|
|
|
json.put("status", code);
|
|
|
json.put("msg", msg);
|
|
|
return json.toString();
|
|
|
} catch (Exception e) {
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public JSONObject getAgent(HttpServletRequest request) {
|
|
|
try {
|
|
|
String userAgent = request.getHeader("userAgent");
|
|
|
if (StringUtils.isEmpty(userAgent)) {
|
|
|
userAgent = request.getHeader("User-Agent");
|
|
|
}
|
|
|
System.out.println("userAgent:" + userAgent);
|
|
|
return new JSONObject(userAgent);
|
|
|
} catch (Exception e) {
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
}
|