首页>代码>docker+spring boot+mybatis+druid+Thymeleaf+mysql整合开发个人博客系统,包括后台管理系统>/My-Blog-master/src/main/java/com/my/blog/website/controller/admin/AuthController.java
package com.my.blog.website.controller.admin; import com.my.blog.website.constant.WebConst; import com.my.blog.website.controller.BaseController; import com.my.blog.website.dto.LogActions; import com.my.blog.website.exception.TipException; import com.my.blog.website.modal.Bo.RestResponseBo; import com.my.blog.website.modal.Vo.UserVo; import com.my.blog.website.service.ILogService; import com.my.blog.website.service.IUserService; import com.my.blog.website.utils.Commons; import com.my.blog.website.utils.TaleUtils; import org.apache.catalina.servlet4preview.http.HttpServletRequest; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; /** * 用户后台登录/登出 * Created by BlueT on 2017/3/11. */ @Controller @RequestMapping("/admin") @Transactional(rollbackFor = TipException.class) public class AuthController extends BaseController { private static final Logger LOGGER = LoggerFactory.getLogger(AuthController.class); @Resource private IUserService usersService; @Resource private ILogService logService; @GetMapping(value = "/login") public String login() { return "admin/login"; } @PostMapping(value = "login") @ResponseBody public RestResponseBo doLogin(@RequestParam String username, @RequestParam String password, @RequestParam(required = false) String remeber_me, HttpServletRequest request, HttpServletResponse response) { Integer error_count = cache.get("login_error_count"); try { UserVo user = usersService.login(username, password); request.getSession().setAttribute(WebConst.LOGIN_SESSION_KEY, user); if (StringUtils.isNotBlank(remeber_me)) { TaleUtils.setCookie(response, user.getUid()); } logService.insertLog(LogActions.LOGIN.getAction(), null, request.getRemoteAddr(), user.getUid()); } catch (Exception e) { error_count = null == error_count ? 1 : error_count + 1; if (error_count > 3) { return RestResponseBo.fail("您输入密码已经错误超过3次,请10分钟后尝试"); } cache.set("login_error_count", error_count, 10 * 60); String msg = "登录失败"; if (e instanceof TipException) { msg = e.getMessage(); } else { LOGGER.error(msg, e); } return RestResponseBo.fail(msg); } return RestResponseBo.ok(); } /** * 注销 * * @param session * @param response */ @RequestMapping("/logout") public void logout(HttpSession session, HttpServletResponse response, HttpServletRequest request) { session.removeAttribute(WebConst.LOGIN_SESSION_KEY); Cookie cookie = new Cookie(WebConst.USER_IN_COOKIE, ""); cookie.setValue(null); cookie.setMaxAge(0);// 立即销毁cookie cookie.setPath("/"); response.addCookie(cookie); try { response.sendRedirect("/admin/login"); } catch (IOException e) { e.printStackTrace(); LOGGER.error("注销失败", e); } } }
最近下载更多
3305787467 LV12
2023年6月3日
hdell65 LV6
2022年10月5日
MangoCooper LV1
2022年7月8日
ZER0ZER0 LV3
2022年5月30日
wanglinddad LV55
2022年4月12日
y1214435276 LV9
2022年4月11日
xiex909 LV27
2022年3月17日
爱写代码 LV12
2021年12月20日
Mayoubin2001 LV21
2021年12月19日
893213895 LV18
2021年12月17日