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

泰安祥奕网络网站建设模板农村网站建设的意义

泰安祥奕网络网站建设模板,农村网站建设的意义,漂亮的数据型网站,莱芜地板街50一次目录 本地文件上传 接口文档 业务实现 登录优化 SpringBoot集成redis 实现令牌主动失效机制 多环境开发 本地文件上传 接口文档 业务实现 创建FileUploadController类并编写请求方法 RestController public class FileUploadController {PostMapping("/upload&…

目录

本地文件上传

接口文档

业务实现

登录优化

SpringBoot集成redis 

实现令牌主动失效机制

多环境开发 


本地文件上传

接口文档

业务实现

创建FileUploadController类并编写请求方法

@RestController
public class FileUploadController {@PostMapping("/upload")public Result<String> upload(MultipartFile file) throws IOException {//把文件内容存储到本地磁盘中String Filename = file.getOriginalFilename(); //自动获取文件名//保证文件名唯一 防止被覆盖String filename = UUID.randomUUID() + Filename.substring(Filename.lastIndexOf("."));//文件传输file.transferTo( new File("D:\\ck\\"+filename));//返回return Result.success("url访问地址……");}
}

 运行请求查看

 查看目录 文件已传输成功

登录优化

令牌主动失效机制

  • 登录成功后,给浏览器响应令牌的同时,把该令牌存储到redis中
  • LoginInterceptor拦截器中,需要验证浏览器携带的令牌,并同时需要获取到redis中存储的与之相同的令牌
  • 当用户修改密码成功后,删除redis中存储的旧令牌 

SpringBoot集成redis 

导入spring-boot-starter-data-redis起步依赖

        <!-- redis依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>

在yml配置文件中, 配置redis连接信息

  data:redis:host: localhostport: 6379

调用API(StringRedisTemplate)完成字符串的存取操作 

@SpringBootTest //如果在测试类上添加了这个注解,那么将来单元测试方法执行之前,会先初始化Spring容器
public class redis_test {@Autowiredprivate StringRedisTemplate stringRedisTemplate; //注入StringRedisTemplate对象@Testpublic void testSet(){//向redis中存储一个键值对ValueOperations<String, String> Operations = stringRedisTemplate.opsForValue();Operations.set("name","TiTi"); //存入String o = Operations.get("name"); //获取System.out.println(o);}
}

 

实现令牌主动失效机制

修改login登录接口方法

    @Autowiredprivate StringRedisTemplate stringRedisTemplate; //注入StringRedisTemplate对象@PostMapping("login")public Result<String> login(@Pattern(regexp = "^\\S{5,16}$") String username, @Pattern(regexp = "^\\S{5,16}$") String password){//根据用户名查询用户User loginUser = userService.findByUserName(username); //定义实例对象//判断用户是否存在if(loginUser == null){return Result.error("用户名错误");}//判断密码是否正确,将传入的password参数转成密文,再和数据库中的密文进行判断是否相同if(Md5Util.getMD5String(password).equals(loginUser.getPassword())){//登录成功Map<String,Object> claims = new HashMap<>(); //定义map集合对象claims.put("id",loginUser.getId()); //添加idclaims.put("username",loginUser.getUsername()); //添加用户名//生成jwtString token = JwtUtil.genToken(claims);//把token存储到redis中ValueOperations<String, String> Operations = stringRedisTemplate.opsForValue();Operations.set(token,token,1, TimeUnit.HOURS); //(键,值,过期时间1小时)return Result.success(token);}return Result.error("密码错误");}

 在拦截器中修改从redis中获取token

 在更新密码方法中设置更新密码就删除掉redis中的token

多环境开发 

        SpringBoot提供的Profiles可以用来隔离应用程序配置的各个部分,并在特定环境下指定部分配置生效 

三个横线用于分隔不同的配置环境

---

 on-profile用于指定哪些配置属于哪个环境

spring:config:activate:on-profile: 环境名称

 active用于指定哪个环境生效

spring:profiles:active: 环境名称

通过多个文件分别配置不同环境的属性 文件的名字为 application-环境名称.yml 在application.yml中激活环境 

application.yml文件指定激活文件

spring:profiles:active: devgroup:"dev": devServer,devDB,devSelf
  •  按照配置的类别,把配置信息配置到不同的配置文件中:application-分类名.yml
  • 在application.yml中定义分组 :spring.profiles.group
  • 在application.yml中激活分组 :spring.profiles.active
http://www.yayakq.cn/news/917211/

相关文章:

  • 城阳网站开发运城网站制作公司
  • 建设银行u盾官方网站首页wordpress获取登录权限
  • 大气的企业网站模板莆田网站 建设
  • 潍坊网络营销公司有哪些虞城seo代理地址
  • 苏宁易购网站建设的不足之处网站seo分析报告
  • 志成网站设计制作手机行业网站
  • 网站建设的战略作用iis怎么给网站设置权限
  • 钓鱼网站在线生成做任务领积分兑换别的网站上的会员
  • 上市的网站设计公司网站建设工作任务
  • 沈阳医疗网站制作模具加工东莞网站建设技术支持
  • 博学云网站建设网站开发中可能遇到的技术问题
  • 淘宝上网站开发退款汕头制作手机网站
  • 网站建设方案 规划百度指数怎么看地域数据
  • 哈尔滨网站制作公司南京短视频制作公司
  • 微网站建设包括哪些方面动态域名申请
  • 网站建设中网站图片如何修改led企业网站策划
  • 工作室主题网站模板外贸网页设计公司
  • 中企动力全网门户网站怀化汽车网站
  • 用网站做宣传的费用wordpress百度ping
  • 网站公司必须帮备案网站建设公司好不好
  • 设计服务网站建筑公司招聘岗位
  • 桂林新站优化小米发布会汽车
  • 瑞安建设公司网站创新的中小型网站建设
  • 网站空间有什么用婚礼网站建设
  • 网站优化多少钱免费做网站公司哪家好
  • 古城区建设局网站体育西网站开发定制
  • 网站开发费走什么科目wordpress熊掌号资源提交
  • 网站开发页面静态化技术手机app下载并安装
  • 算卦网站哪里可以做做网站的每天打电话咋办
  • 环保网站建设公司哪家好网站优化公司价格如何计算