Commit 3cb17a8b authored by lee_mingzhu's avatar lee_mingzhu

change something

parent 6acc86f0
package cn.quantgroup.xyqb.aspect.ipfilter; package cn.quantgroup.xyqb.aspect.accessable;
import java.lang.annotation.*; import java.lang.annotation.*;
......
package cn.quantgroup.xyqb.aspect.accessable;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.util.IPUtil;
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.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* Created by 11 on 2017/3/23.
*/
@Aspect
@Component
public class IpValidatorAdvisor {
private static final Logger LOGGER = LoggerFactory.getLogger(IpValidatorAdvisor.class);
@Value("${config.accessable}")
private boolean accessable;
@Pointcut("@annotation(cn.quantgroup.xyqb.aspect.accessable.IpValidator)")
private void needIpValidate() {
}
@Around("needIpValidate()")
private Object doCapchaValidate(ProceedingJoinPoint pjp) throws Throwable {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String ip = IPUtil.getRemoteIP(request);
if(accessable) {
return pjp.proceed();
} else {
if(ip.startsWith("172")){
return pjp.proceed();
} else {
LOGGER.error("非法ip:{}", ip);
return JsonResult.buildErrorStateResult("非法ip", null);
}
}
}
}
package cn.quantgroup.xyqb.controller.external.user; package cn.quantgroup.xyqb.controller.external.user;
import cn.quantgroup.xyqb.aspect.accessable.IpValidator;
import cn.quantgroup.xyqb.entity.*; import cn.quantgroup.xyqb.entity.*;
import cn.quantgroup.xyqb.entity.enumerate.*; import cn.quantgroup.xyqb.entity.enumerate.*;
import cn.quantgroup.xyqb.model.*; import cn.quantgroup.xyqb.model.*;
...@@ -46,6 +47,7 @@ public class InnerController { ...@@ -46,6 +47,7 @@ public class InnerController {
private IWechatService wechatService; private IWechatService wechatService;
@IpValidator
@RequestMapping("/user/search/phoneNo") @RequestMapping("/user/search/phoneNo")
public JsonResult findByPhoneNo(String phoneNo) { public JsonResult findByPhoneNo(String phoneNo) {
User user = userService.findByPhoneInDb(phoneNo); User user = userService.findByPhoneInDb(phoneNo);
......
...@@ -2,8 +2,7 @@ package cn.quantgroup.xyqb.entity; ...@@ -2,8 +2,7 @@ package cn.quantgroup.xyqb.entity;
import lombok.Data; import lombok.Data;
import javax.persistence.Entity; import javax.persistence.*;
import javax.persistence.Table;
import java.sql.Timestamp; import java.sql.Timestamp;
/** /**
...@@ -13,10 +12,18 @@ import java.sql.Timestamp; ...@@ -13,10 +12,18 @@ import java.sql.Timestamp;
@Entity @Entity
@Table(name = "user_attached") @Table(name = "user_attached")
public class UserAttached { public class UserAttached {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id; private Long id;
@Column( name = "user_id")
private Long userId; private Long userId;
@Column(name = "avatar")
private String avatar; private String avatar;
@Column(name = "nick")
private String nick; private String nick;
@Column(name = "created_at")
private Timestamp createdAt; private Timestamp createdAt;
@Column(name = "updated_at")
private Timestamp updatedAt; private Timestamp updatedAt;
} }
accessable=0 config.accessable=false
configserver.disable=1 configserver.disable=1
configserver.system=xyqb-user configserver.system=xyqb-user
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment