【basepro】

配置

logback-spring.xml
application.properties

框架整合

  • 整合redis
  • 整合apollo配置中心
  • 整合swagger
    @Profile(“dev”),生产环境中禁用swagger
  • 整合mybatis-plus(提供父类,方便拓展,代码生成器,分页)
//注解写在启动类,每个具体的mapper可以不再加mapper注解
//mapper扫描,指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类
@MapperScan("com.faw.drive.app.fusion.user.mapper")
  • 整合Druid

  • 文件上传(搭建文件服务器)

  • jwt鉴权(单点登录)

  1. 第一次登录时,去db中验证登录,正确后通过jwt生成user_token,subject中包含userid、随机数uuid、过期时间30min,将相关信息和客户端登录状态(区分web和app)存至Redis中,将user_token设置给response的header;将refresh_token存入db,过期时间31天
  2. 30min内再次登录时,对比请求中的user_token与redis中uuid,通过后放行
  3. 30min后再次登录时,user_token已经过期,若refresh_token未过期,更新user_token;若refresh_token过期,更新user_token和refresh_token,确保长时间内不用重复登录
  4. 切换浏览器登录时,新生成user_token与redis中uuid不符,更新user_token和refresh_token,确保原浏览器登录状态被踢掉
  5. 当切换平台登录时,不同端互不影响,校验redis中uuid和登录状态

其他功能

线程池

compont

feign调用增加请求头

@Component
class FeignInterceptor im RequestInterceptor{
	@Override
	void apply(RequestTemplate template){
		HttpServletRequest request=RequestContextHolder.getRequestSttributes().getRequest();
		template.header("request_key","dyn");
		template.header("Content-Type","application/json");
	}
}

处理feign调用后的结果

FeignDecoder im Decoder{
	@Override
	Object decode(Response respoinse,Type type){
		Response.Body body=response.body();
	//
	}
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值