管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-09-30 4f44344fc03f606e515444fc1bce7c6b7cf029e7
1
已修改4个文件
35 ■■■■■ 文件已修改
src/main/java/com/lf/server/controller/sys/SignController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/helper/WebHelper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/data/TokenService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/templates/login.html 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/controller/sys/SignController.java
@@ -117,17 +117,18 @@
     * 登出
     *
     * @param req
     * @param res
     * @return
     */
    @GetMapping(value = "/logout")
    public ResponseMsg<Boolean> logout(HttpServletRequest req) {
    public ResponseMsg<Boolean> logout(HttpServletRequest req, HttpServletResponse res) {
        try {
            String token = WebHelper.getToken(req);
            if (StringHelper.isEmpty(token)) {
                return fail("没有检测到令牌", false);
            }
            Boolean flag = tokenService.logout(token, req);
            Boolean flag = tokenService.logout(token, req, res);
            return success(flag ? "登出成功" : "登出失败", flag);
        } catch (Exception ex) {
src/main/java/com/lf/server/helper/WebHelper.java
@@ -126,7 +126,7 @@
     */
    public static void saveToken2Cookie(String token, HttpServletRequest request, HttpServletResponse response) {
        // 先删除
        deleteCookie(StaticData.TOKEN_COOKIE_KEY, request);
        deleteCookie(StaticData.TOKEN_COOKIE_KEY, request, response);
        // 再保存
        saveCookie(StaticData.TOKEN_COOKIE_KEY, token, response);
@@ -135,17 +135,17 @@
    /**
     * 保存Cookie
     *
     * @param cookieKey
     * @param key
     * @param value
     * @param response
     */
    public static void saveCookie(String cookieKey, String value, HttpServletResponse response) {
        Cookie cookie = new Cookie(cookieKey, value);
    public static void saveCookie(String key, String value, HttpServletResponse response) {
        Cookie cookie = new Cookie(key, value);
        // 设置cookie失效时间,单位为秒
        cookie.setMaxAge(4 * 60 * 60);
        cookie.setHttpOnly(false);
        cookie.setPath("/");
        // cookie.setDomain("")
        //cookie.setDomain("*")
        response.setHeader("P3P", "CP=CAO PSA OUR");
        response.addCookie(cookie);
@@ -157,12 +157,14 @@
     * @param cookieKey
     * @param request
     */
    public static void deleteCookie(String cookieKey, HttpServletRequest request) {
    public static void deleteCookie(String cookieKey, HttpServletRequest request, HttpServletResponse response) {
        Cookie[] cookies = request.getCookies();
        if (cookies != null && cookies.length > 0) {
            for (Cookie c : cookies) {
                if (cookieKey.equalsIgnoreCase(c.getName())) {
                    c.setMaxAge(0);
                    c.setPath("/");
                    response.addCookie(c);
                }
            }
        }
src/main/java/com/lf/server/service/data/TokenService.java
@@ -150,14 +150,14 @@
     * @param req
     * @return
     */
    public Boolean logout(String token, HttpServletRequest req) {
    public Boolean logout(String token, HttpServletRequest req, HttpServletResponse res) {
        TokenEntity te = getEntityByToken(token);
        if (te == null) {
            return false;
        }
        // 清除Cookie
        WebHelper.deleteCookie(StaticData.TOKEN_COOKIE_KEY, req);
        // 清除Cookie WebHelper.saveCookie(StaticData.TOKEN_COOKIE_KEY, "", 60, res)
        WebHelper.deleteCookie(StaticData.TOKEN_COOKIE_KEY, req, res);
        // 获取当前用户
        UsersEntity ue = getCurrentUser(req);
@@ -240,7 +240,7 @@
     */
    public UsersEntity getCurrentUser(HttpServletRequest req) {
        String token = WebHelper.getToken(req);
        if (StringHelper.isEmpty(token)) {
        if (StringHelper.isNull(token)) {
            return null;
        }
src/main/resources/templates/login.html
@@ -325,6 +325,14 @@
      }
      return null;
    }
    document.onkeydown = function (e) {
      var ev = window.event || e;
      var code = ev.keyCode || ev.which || ev.charCode;
      if (code == 13) {
        sysLogin();
      }
    }
  </script>
</body>
</html>