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 0000000000000000000000000000000000000000..4e26e7ee632982d64283f3ac030d8480e63f23d9 --- /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("*"); + } + +} 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 0000000000000000000000000000000000000000..0e7df15c641adc7131947cdb481806d13d426645 --- /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(); + } + +}