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

企业官方网站应该怎么样建设网站建设套

企业官方网站应该怎么样建设,网站建设套,seo网站诊断文档案例,移动端网站开发流程在上一篇中Redis实战之session共享#xff0c;我们知道了通过Redis实现session共享了#xff0c;那么token怎么续命呢#xff1f;怎么刷新用户呢#xff1f;本来咱们就通过拦截器来实现这两个功能。 登录拦截器优化#xff1a; 先来看看现在拦截器情况#xff1a; 拦截…在上一篇中Redis实战之session共享我们知道了通过Redis实现session共享了那么token怎么续命呢怎么刷新用户呢本来咱们就通过拦截器来实现这两个功能。 登录拦截器优化 先来看看现在拦截器情况 拦截流程 当拦截器拦截需要拦截到的url时候才会在拦截器中更新用户token的过期时间。那如果访问了不被拦截的路径就不会给token续命的。这样就会导致用户token过期而重新登录的。这样是不对的。 拦截了哪些路径在config/MvcConfig中 当访问以上这些路径的是就不会自动更新用户的token过期时间了。 优化我们可以在现有拦截器签名价格拦截器 将获取用户存放threadLocal及刷新token放到新的拦截器中。 第一个拦截器就叫做刷新token拦截器第二个拦截器就叫做用户拦截器 创建刷新token的拦截器 import cn.hutool.core.bean.BeanUtil; import com.hmdp.dto.UserDTO; import com.hmdp.utils.UserHolder; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.util.StringUtils; import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Map; import java.util.concurrent.TimeUnit;import static com.hmdp.constants.RedisConstants.LOGIN_USER_TOKEN_KEY; import static com.hmdp.constants.RedisConstants.LOGIN_USER_TOKEN_TTL;/*** author 凯哥Java* description 刷新用户token的烂机器* company*/ public class RefreshTokenInterceptor implements HandlerInterceptor {private StringRedisTemplate stringRedisTemplate;/*** 因为这个类不能被spring管理所以不能直接注入RedisTemplate对象。通过构造函数传递** param stringRedisTemplate*/public RefreshTokenInterceptor(StringRedisTemplate stringRedisTemplate) {this.stringRedisTemplate  stringRedisTemplate;}Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {//1:从请求中获取到tokenString token  request.getHeader(authorization);if (StringUtils.isEmpty(token)) {return true;}//2:基于token获取redis中用户对象String key  LOGIN_USER_TOKEN_KEY  token;MapObject, Object userMap  stringRedisTemplate.opsForHash().entries(key);//3判断if (userMap.isEmpty()) {return true;}//将map转对象UserDTO user  BeanUtil.fillBeanWithMap(userMap, new UserDTO(), false);UserHolder.saveUser(user);//刷新token的过期时间stringRedisTemplate.expire(key, LOGIN_USER_TOKEN_TTL, TimeUnit.MINUTES);return true;}Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {UserHolder.removeUser();} }修改用户拦截器 import com.hmdp.utils.UserHolder; import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;/*** author 凯哥Java* description 登录拦击器* company*/ public class UserInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {//判断是否需要拦截if (UserHolder.getUser()  null) {response.setStatus(401);return false;}return true;}Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {UserHolder.removeUser();} }修改MvcCofig。将两个拦截器添加进去并设置拦截顺序: import com.hmdp.interceptor.RefreshTokenInterceptor; import com.hmdp.interceptor.UserInterceptor; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;import javax.annotation.Resource;/*** author 凯哥Java* description  mvn的配置-添加拦截器* company*/ Configuration public class MvcConfig implements WebMvcConfigurer {Resourceprivate StringRedisTemplate stringRedisTemplate;Overridepublic void addInterceptors(InterceptorRegistry registry) {//登录拦截器registry.addInterceptor(new UserInterceptor()).excludePathPatterns(/shop/**,/voucher/**,/shop-type/**,/upload/**,/blog/hot,/user/code,/user/login).order(1);//刷新token拦截器registry.addInterceptor(new RefreshTokenInterceptor(stringRedisTemplate)).addPathPatterns(/**).order(0);} }
http://www.hkea.cn/news/14261261/

相关文章:

  • 深圳品牌网站制作报价中级经济师考试
  • 桂林手机网站建设江苏常州网站建设公司
  • 成立网站要多少钱广州做一个网站多少钱
  • 重庆网站建设网站建设政务网站建设的三个核心功能是什么
  • soho网站建设绵阳模板网站
  • 网站建设加盟代理wordpress后台禁止更新
  • 哪些人可以做网站网络舆情监测适合女生嘛
  • 用什么软件做网站布局股票做T网站
  • 支付网站设计汽车用品网站建设
  • 广州企业自助建站WP Rocket-WordPress
  • 郑州 服装网站建设百度搜索排名优化哪家好
  • 南京建设监理协会网站打不开网站彩铃怎么做的
  • 重庆建站公司网站模板一分钟建站
  • wordpress全站启用ssl网站logo制作教程
  • 上海外贸网站推广服务如何开发一款app软件
  • 计算机网站设计网站开发的具体流程图
  • 张家口购物网站开发设计js做网站
  • 婚纱摄影网站源码asp双语对照网站
  • 长春建设平台网站的公司wordpress 待办事项
  • 宝安做网站哪家好抖音信息流广告怎么投放
  • 个人网站服务器一年多少钱精美图表网站推荐
  • 支付网站建设费账务处理国美的网站做的怎么样
  • 网页制作网站首页个人网站如何发布
  • 做网站公司人员优设网视频剪辑
  • ps怎么做网站视频特效wordpress分类归档不科学
  • 手机网站底部广告代码企业目录
  • 深圳企业医疗网站建设如何做网站编辑
  • 河南省城乡与住房建设厅网站首页网站建设跑业务
  • 个人网站备案 拍照南通企业建站模板
  • 国内做网站的龙头企业自己做的网站怎么用qq登入