当前位置: 首页 > news >正文

网站图片上传不了是什么原因甘肃建网站

网站图片上传不了是什么原因,甘肃建网站,网站建设创新成果,免费wordpress网站模板使用步骤#xff1a; 1.导入jwt相关依赖 2.创建jwt工具类方便使用 3.通过工具类提供的方法进行生成jwt 4.通过工具类解析jwt令牌获取封装的数据 5.设定拦截器#xff0c;每次执行请求的时候都需要验证token 6.注册拦截器 1.jwt依赖 dependencygroupIdio.json… 使用步骤 1.导入jwt相关依赖 2.创建jwt工具类方便使用 3.通过工具类提供的方法进行生成jwt 4.通过工具类解析jwt令牌获取封装的数据 5.设定拦截器每次执行请求的时候都需要验证token 6.注册拦截器 1.jwt依赖 dependencygroupIdio.jsonwebtoken/groupIdartifactIdjjwt-api/artifactIdversion0.11.2/version /dependency dependencygroupIdio.jsonwebtoken/groupIdartifactIdjjwt-impl/artifactIdversion0.11.2/version /dependency dependencygroupIdio.jsonwebtoken/groupIdartifactIdjjwt-jackson/artifactId !-- 或者 jjwt-gson 如果你使用Gson --version0.11.2/version /dependency相关作用 1. jjwt-api 作用提供了JWT的核心API接口和类定义了JWT的生成和解析的基本操作。 2. jjwt-impl 作用提供了 jjwt-api 中定义的接口的具体实现包括JWT的生成和解析的实际逻辑。 3. jjwt-jackson 或 jjwt-gson 作用提供了序列化和反序列化JWT的工具分别支持Jackson和Gson库。选择其中一个即可具体取决于你的项目中使用的JSON处理库。 2.jwt工具类 package com.sky.utils;import io.jsonwebtoken.Claims; import io.jsonwebtoken.JwtBuilder; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; import java.nio.charset.StandardCharsets; import java.util.Date; import java.util.Map;public class JwtUtil {/*** 生成jwt* 使用Hs256算法, 私匙使用固定秘钥** param secretKey jwt秘钥* param ttlMillis jwt过期时间(毫秒)* param claims 设置的信息* return*/public static String createJWT(String secretKey, long ttlMillis, MapString, Object claims) {// 指定签名的时候使用的签名算法也就是header那部分SignatureAlgorithm signatureAlgorithm SignatureAlgorithm.HS256;// 生成JWT的时间long expMillis System.currentTimeMillis() ttlMillis;Date exp new Date(expMillis);// 设置jwt的bodyJwtBuilder builder Jwts.builder()// 如果有私有声明一定要先设置这个自己创建的私有的声明这个是给builder的claim赋值一旦写在标准的声明赋值之后就是覆盖了那些标准的声明的.setClaims(claims)// 设置签名使用的签名算法和签名使用的秘钥.signWith(signatureAlgorithm, secretKey.getBytes(StandardCharsets.UTF_8))// 设置过期时间.setExpiration(exp);return builder.compact();}/*** Token解密** param secretKey jwt秘钥 此秘钥一定要保留好在服务端, 不能暴露出去, 否则sign就可以被伪造, 如果对接多个客户端建议改造成多个* param token 加密后的token* return*/public static Claims parseJWT(String secretKey, String token) {// 得到DefaultJwtParserClaims claims Jwts.parser()// 设置签名的秘钥.setSigningKey(secretKey.getBytes(StandardCharsets.UTF_8))// 设置需要解析的jwt.parseClaimsJws(token).getBody();return claims;}}3.设定拦截器 package com.sky.interceptor;import com.sky.constant.JwtClaimsConstant; import com.sky.context.BaseContext; import com.sky.properties.JwtProperties; import com.sky.utils.JwtUtil; import io.jsonwebtoken.Claims; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;/*** jwt令牌校验的拦截器*/ Component Slf4j public class JwtTokenAdminInterceptor implements HandlerInterceptor {// 注入jwt配置对象Autowiredprivate JwtProperties jwtProperties;/*** 校验jwt** param request* param response* param handler* return* throws Exception*/public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {//判断当前拦截到的是Controller的方法还是其他资源if (!(handler instanceof HandlerMethod)) {//当前拦截到的不是动态方法直接放行return true;}//1、从请求头中获取令牌 getAdminTokenName是配置文件中的属性在JwtProperties中定义String token request.getHeader(jwtProperties.getAdminTokenName());//2、校验令牌try {log.info(token校验:{}, token);Claims claims JwtUtil.parseJWT(jwtProperties.getAdminSecretKey(), token);Long empId Long.valueOf(claims.get(JwtClaimsConstant.EMP_ID).toString());log.info(当前员工id{}, empId);BaseContext.setCurrentId(empId);System.out.println(BaseContext.getCurrentId());//3、通过放行return true;} catch (Exception ex) {//4、不通过响应401状态码response.setStatus(401);return false;}} }4.注册拦截器 package com.sky.config;import com.sky.interceptor.JwtTokenAdminInterceptor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;/*** 配置类注册web层相关组件*/ Configuration Slf4j public class WebMvcConfiguration extends WebMvcConfigurationSupport {Autowiredprivate JwtTokenAdminInterceptor jwtTokenAdminInterceptor;/*** 注册自定义拦截器** param registry*/protected void addInterceptors(InterceptorRegistry registry) {log.info(开始注册自定义拦截器...);registry.addInterceptor(jwtTokenAdminInterceptor)// 除了登录接口其他接口都拦截.addPathPatterns(/admin/**)// 登录接口放行.excludePathPatterns(/admin/employee/login);} } 作用 这段Java代码定义了一个名为 JwtUtil 的工具类用于生成和解析JWTJSON Web Token。 createJWT 方法 生成JWT令牌。 使用HS256算法进行签名。 接受三个参数secretKey秘钥、ttlMillis过期时间单位为毫秒 claims自定义声明。 返回生成的JWT字符串。 parseJWT 方法 解析JWT令牌。 验证签名是否正确。 接受两个参数secretKey秘钥、token加密后的令牌。 返回解析后的声明信息。
http://www.hkea.cn/news/14467366/

相关文章:

  • 网站建设及维护课件免费如何注册网站域名
  • 江苏建安建设有限公司网站重庆沙坪坝二手房出售信息
  • 扬州网站seo建立以()为特点
  • 网站页面策划模板下载建设银行住房公积金卡网站
  • 做网站的公司怎么赚钱吗阿里云网站实名认证
  • 重庆网站建设公司的网站营销型网站建设 合肥
  • 学校网站建设问卷调查每天自动更新的网站
  • php与mysql网站开发做网站前端用什么软件
  • 用手机怎样免费做网站营销型网站一般有哪些内容
  • 本地的丹阳网站建设成都互联网公司十强
  • 备份整个网站端午节ppt模板免费下载
  • 收录网站工具某网站开发工具和技术
  • 国外的自建站平台是什么wdcp创建网站
  • 网站做seo有什么作用区块链app开发
  • 宁波网站建设多少钱一个lamp网站开发 pdf
  • 单位网站建设和维护自己做的网站验证码出不来怎么回事
  • 个人网站的订单室内设计平面图尺寸
  • 个人网站做多久有效果安卓搭载wordpress
  • 视频网站直播怎么做的学做网站论坛教程
  • 免费搭建博客网站网站dns服务
  • o2o网站建设方案讲解武昌做网站jw100
  • 稳定的网站建设中信银行官网
  • 高端网站建设 深圳413 request entity too large wordpress
  • 用vs2010做免费网站模板广东工程建设监理有限公司网站
  • 旅游网站建设规划方案wordpress最新版获取标签
  • 创建虚拟网站做点击建站报价表
  • vultr做网站怎么样软文营销文案
  • 做宣传的视频网站有哪些个人网站设计与制作源代码
  • html5精美网站企业网站的好处
  • 石家庄网站制作设计泉州建站模板源码