package com.yutou.tools.web; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.yutou.tools.utils.RedisTools; import com.yutou.tools.utils.Tools; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Objects; import java.util.UUID; @Controller public class userController { @Resource RedisTools redisTools; @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){ JSONObject json=new JSONObject(); 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","登录成功"); return json.toJSONString(); } json.put("code",-2); json.put("msg","登录安全码错误"); return json.toJSONString(); } }