13693261870
2024-08-23 9e1c97a6fbb4451f32a85ebbf00f6a64156fccc0
修改获取token方法
已修改4个文件
76 ■■■■ 文件已修改
se-auth/src/main/java/com/se/auth/controller/TokenController.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
se-common/se-common-core/src/main/java/com/se/common/core/constant/TokenConstants.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
se-common/se-common-core/src/main/java/com/se/common/core/utils/StringUtils.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
se-common/se-common-security/src/main/java/com/se/common/security/utils/SecurityUtils.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
se-auth/src/main/java/com/se/auth/controller/TokenController.java
@@ -6,10 +6,7 @@
import com.se.auth.form.RegisterBody;
import com.se.auth.service.SysLoginService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.se.common.core.domain.R;
import com.se.common.core.utils.JwtUtils;
import com.se.common.core.utils.StringUtils;
@@ -41,6 +38,23 @@
        return R.ok(tokenService.createToken(userInfo));
    }
    @GetMapping("validate")
    @PostMapping("validate")
    public R<Object> validate(HttpServletRequest request) {
        try {
            boolean flag = false;
            String token = SecurityUtils.getToken(request);
            if (!StringUtils.isNotEmpty(token)) {
                String userName = JwtUtils.getUserName(token);
                flag = !StringUtils.isEmpty(userName);
            }
            return R.ok(flag);
        } catch (Exception ex) {
            return R.fail(ex.getMessage());
        }
    }
    @DeleteMapping("logout")
    public R<?> logout(HttpServletRequest request)
    {
se-common/se-common-core/src/main/java/com/se/common/core/constant/TokenConstants.java
@@ -5,8 +5,22 @@
 * 
 * @author admin
 */
public class TokenConstants
{
public class TokenConstants {
    /**
     * 令牌标识-URL
     */
    public static final String TOKEN = "token";
    /**
     * 令牌标识-URL
     */
    public static final String ACCESS_TOKEN = "accessToken";
    /**
     * 令牌标识-Cookie
     */
    public static final String COOKIE_TOKEN = "Admin-Token";
    /**
     * 令牌自定义标识
     */
@@ -21,5 +35,4 @@
     * 令牌秘钥
     */
    public final static String SECRET = "abcdefghijklmnopqrstuvwxyz";
}
se-common/se-common-core/src/main/java/com/se/common/core/utils/StringUtils.java
@@ -8,6 +8,9 @@
import com.se.common.core.text.StrFormatter;
import org.springframework.util.AntPathMatcher;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
/**
 * 字符串工具类
 * 
@@ -605,4 +608,19 @@
        }
        return sb.toString();
    }
    public static String getValueFromCookie(HttpServletRequest request,String key) {
        Cookie[] cookies = request.getCookies();
        if (cookies == null || cookies.length == 0) {
            return null;
        }
        for (Cookie cookie : cookies) {
            if (cookie.getName().equals(key)){
                return cookie.getValue();
            }
        }
        return null;
    }
}
se-common/se-common-security/src/main/java/com/se/common/security/utils/SecurityUtils.java
@@ -59,10 +59,23 @@
    /**
     * 根据request获取请求token
     */
    public static String getToken(HttpServletRequest request)
    {
    public static String getToken(HttpServletRequest request) {
        // 从header获取token标识
        String token = request.getHeader(TokenConstants.AUTHENTICATION);
        // 从url获取token标识
        if (StringUtils.isEmpty(token)) {
            token = request.getParameter(TokenConstants.ACCESS_TOKEN);
        }
        if (StringUtils.isEmpty(token)) {
            token = request.getParameter(TokenConstants.TOKEN);
        }
        // 从cookie获取token标识
        if (StringUtils.isEmpty(token)) {
            token = StringUtils.getValueFromCookie(request, TokenConstants.COOKIE_TOKEN);
        }
        return replaceTokenPrefix(token);
    }