2020-04-16 01:53:25 +08:00
|
|
|
|
package com.yutou.tools.web;
|
|
|
|
|
|
2020-04-17 14:32:22 +08:00
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
2020-04-16 01:53:25 +08:00
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
2020-04-17 14:32:22 +08:00
|
|
|
|
import com.yutou.tools.utils.RedisTools;
|
2020-04-16 01:53:25 +08:00
|
|
|
|
import com.yutou.tools.utils.Tools;
|
|
|
|
|
import org.springframework.stereotype.Controller;
|
2020-04-17 14:32:22 +08:00
|
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
2020-04-16 01:53:25 +08:00
|
|
|
|
|
2020-04-17 14:32:22 +08:00
|
|
|
|
import javax.annotation.Resource;
|
2020-04-16 01:53:25 +08:00
|
|
|
|
import javax.servlet.http.Cookie;
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
2020-04-17 14:32:22 +08:00
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
import java.util.Objects;
|
|
|
|
|
import java.util.UUID;
|
2020-04-16 01:53:25 +08:00
|
|
|
|
|
|
|
|
|
@Controller
|
|
|
|
|
public class userController {
|
2020-04-17 14:32:22 +08:00
|
|
|
|
@Resource
|
|
|
|
|
RedisTools redisTools;
|
2020-04-16 01:53:25 +08:00
|
|
|
|
|
2020-04-17 14:32:22 +08:00
|
|
|
|
@RequestMapping("/login/check.do")
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public String getLoginState(HttpServletRequest request) {
|
|
|
|
|
JSONObject json = new JSONObject();
|
|
|
|
|
json.put("code", -1);
|
|
|
|
|
json.put("msg", "未登录");
|
|
|
|
|
JSONArray array=new JSONArray();
|
|
|
|
|
if(redisTools.get("bean")!=null){
|
|
|
|
|
array=JSONArray.parseArray(redisTools.get("bean"));
|
|
|
|
|
}
|
|
|
|
|
if(array.contains(Tools.getRemoteAddress(request))){
|
|
|
|
|
System.out.println("IP已被封禁");
|
|
|
|
|
return json.toJSONString();
|
|
|
|
|
}
|
|
|
|
|
Cookie cookie = Tools.getCookie(request, "user");
|
|
|
|
|
if (cookie == null) {
|
|
|
|
|
return json.toJSONString();
|
|
|
|
|
}
|
|
|
|
|
if (redisTools.get(cookie.getValue()).equals("ok")) {
|
|
|
|
|
json.put("code", 0);
|
|
|
|
|
json.put("msg", "登录成功");
|
|
|
|
|
return json.toJSONString();
|
|
|
|
|
}
|
|
|
|
|
json.put("code", -1);
|
|
|
|
|
json.put("msg", "未登录");
|
|
|
|
|
return json.toJSONString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@RequestMapping("/login/sendCaptcha.do")
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public String captcha(HttpServletRequest request) {
|
|
|
|
|
int[] captcha = Tools.randomCommon(0, 9, 5);
|
|
|
|
|
String cc = "";
|
|
|
|
|
for (int value : captcha) {
|
|
|
|
|
cc += value;
|
|
|
|
|
}
|
|
|
|
|
redisTools.set("login",cc,5*60*1000);
|
|
|
|
|
Tools.sendServer("管理后台登录验证码", "本次登录验证码为:" + cc
|
|
|
|
|
+ ",登录IP:" + Tools.getRemoteAddress(request)
|
|
|
|
|
+ ",非正常登录,封禁IP:http://www.baidu.com");
|
|
|
|
|
return "ok";
|
|
|
|
|
}
|
|
|
|
|
@RequestMapping("/login/login.do")
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public String login(HttpServletResponse response,String code){
|
2020-04-16 01:53:25 +08:00
|
|
|
|
JSONObject json=new JSONObject();
|
2020-04-17 14:32:22 +08:00
|
|
|
|
if(redisTools.get("login").equals(code.trim())){
|
|
|
|
|
String uuid=UUID.randomUUID().toString();
|
|
|
|
|
Tools.setCookie(response,"user",uuid.replace("-",""),30*24*60*60*1000);
|
|
|
|
|
redisTools.set(uuid.replace("-",""),"ok",30*24*60*60*1000);
|
|
|
|
|
json.put("code",0);
|
|
|
|
|
json.put("msg","登录成功");
|
2020-04-16 01:53:25 +08:00
|
|
|
|
return json.toJSONString();
|
|
|
|
|
}
|
2020-04-17 14:32:22 +08:00
|
|
|
|
json.put("code",-2);
|
|
|
|
|
json.put("msg","登录安全码错误");
|
|
|
|
|
return json.toJSONString();
|
2020-04-16 01:53:25 +08:00
|
|
|
|
}
|
|
|
|
|
}
|