From 5b7fd555040d000e2a621d7baee5a4cea21cf086 Mon Sep 17 00:00:00 2001 From: xiaochangbai <704566072@qq.com> Date: Mon, 7 Nov 2022 20:59:18 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat=EF=BC=9A=E8=B7=A8=E5=9F=9F=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/lili/config/WebMvcConfig.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/main/java/cn/lili/config/WebMvcConfig.java diff --git a/src/main/java/cn/lili/config/WebMvcConfig.java b/src/main/java/cn/lili/config/WebMvcConfig.java new file mode 100644 index 0000000..4e26e7e --- /dev/null +++ b/src/main/java/cn/lili/config/WebMvcConfig.java @@ -0,0 +1,30 @@ +package cn.lili.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +/** + * @author xiaochangbai + * @date 2022-11-06 21:42 + */ +@Configuration +public class WebMvcConfig implements WebMvcConfigurer{ + + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") + //是否发送Cookie + .allowCredentials(true) + //设置放行哪些原始域 SpringBoot2.4.4下低版本使用.allowedOrigins("*") + .allowedOriginPatterns("*") + //放行哪些请求方式 + .allowedMethods(new String[]{"GET", "POST", "PUT", "DELETE"}) + //.allowedMethods("*") //或者放行全部 + //放行哪些原始请求头部信息 + .allowedHeaders("*") + //暴露哪些原始请求头部信息 + .exposedHeaders("*"); + } + +} -- Gitee From 8cd544bb9cf46fc84214a25f2b55c63796a1564a Mon Sep 17 00:00:00 2001 From: xiaochangbai <704566072@qq.com> Date: Mon, 7 Nov 2022 21:27:04 +0800 Subject: [PATCH 2/2] =?UTF-8?q?token=E7=94=9F=E6=88=90=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/lili/security/token/TokenTest.java | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/main/java/cn/lili/security/token/TokenTest.java diff --git a/src/main/java/cn/lili/security/token/TokenTest.java b/src/main/java/cn/lili/security/token/TokenTest.java new file mode 100644 index 0000000..0e7df15 --- /dev/null +++ b/src/main/java/cn/lili/security/token/TokenTest.java @@ -0,0 +1,43 @@ +package cn.lili.security.token; + +import cn.lili.security.AuthUser; +import cn.lili.security.SecretKeyUtil; +import cn.lili.security.enums.SecurityEnum; +import cn.lili.security.enums.UserEnums; +import com.google.gson.Gson; +import io.jsonwebtoken.Jwts; + +import java.util.Date; + +/** + * @author xiaochangbai + * @date 2022-11-07 21:14 + */ +public class TokenTest { + + public static void main(String[] args) { + AuthUser authUser = new AuthUser( + "Angle", "1384135843077160960", + "a", "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/35c2bc3d708346a2836d3df8fdabf30a.jpg", + UserEnums.MEMBER); + authUser.setTenantId(null); + //登陆成功生成token + String token = createToken("Angle", authUser,10000L); + System.out.println(token); + } + + public static String createToken(String username, Object claim, Long expirationTime) { + //JWT 生成 + return Jwts.builder() + //jwt 私有声明 + .claim(SecurityEnum.USER_CONTEXT.getValue(), new Gson().toJson(claim)) + //JWT的主体 + .setSubject(username) + //失效时间 当前时间+过期分钟 + .setExpiration(new Date(System.currentTimeMillis() + expirationTime * 60 * 1000)) + //签名算法和密钥 + .signWith(SecretKeyUtil.generalKey()) + .compact(); + } + +} -- Gitee