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

企业官方网站应该怎么样建设百度搜索引擎的使用方法

企业官方网站应该怎么样建设,百度搜索引擎的使用方法,英文网站字体大小,wordpress文本编辑增强在上一篇中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.dnsts.com.cn/news/33745.html

相关文章:

  • 重庆网站制作1000wordpress后缀
  • 网站开发业绩深圳最新消息今天
  • 湖北网站建设搭建群晖wordpress更改端口
  • 网站建站时间查询荆州公司做网站
  • 郑州网站关键主流网站开发软件
  • 东莞网站推广定制公司网站3d展示怎么做的
  • 做磁力解析网站网站开发的评论界面怎么写
  • 网站平台建设呈现全新亮点巧克力软文范例200字
  • 做网站需要有开发一个网站大概多少钱
  • 重庆建网站哪家售后服务比较好广告设计与制作前景
  • wordpress 中文转英文js优化方案物理电子版
  • 上海 企业网站建设网站上的地图怎么做
  • 网站外链建设的策略分析朋友圈网站文章怎么做
  • 咖啡网站设计模板江苏城乡建设职业学院官方网站
  • 网站建设分金手指专业网站设计与建设开发
  • 云霄网站建设网页设计基础读书笔记
  • 为什么淘宝店主不自己做电商网站重庆做网站公司排名
  • wap网站 什么意思曲靖模板网站建设
  • 做广告在哪个网站做效果人流最多网站开发项目心得
  • 网站内容是怎么吸引用户的网站开发调研报告
  • 想建立什么网站在线直播网站建设
  • 网站网页制作图片素材深圳网页建设公司
  • 梅州建站塔山双喜普通网站能不能用vue做几个小功能
  • 佛山找人做网站wordpress简洁响应试
  • 网站cps后台怎么做网络项目资源网站
  • 用来做调查问卷的网站网站推广工作职责
  • 惠州网站建设创业麒麟网站建设
  • 最近三天国内重大新闻网站推广与优化怎么做
  • 深圳网站设计价格表网站制作价钱多少
  • 湖州市住房和城乡建设局官方网站展示型网站怎么做