程序笔记   发布时间:2022-07-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了激活状态拦截器大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

用户只有激活成功才可以发送文章 删除文章等操作

业务逻辑:

  1. 从header中取出id
  2. 根据id从redis取出用户信息缓存信息
  3. 判断是否能从redis中取出用户缓存若未能取出直接拦截
  4. 判断用户状态码是否已激活 若未激活 直接拦截

public class UserActiveInterceptor extends BaseInterceptor implements HandlerInterceptor {
    @Autowired
    protected redisOperator redisOperator;

    @Override
    public Boolean preHandle(httpServletrequest request, httpServletResponse response, Object handler) throws Exception {
        String userId = request.getHeader("headerUserId");

        String redisUserCacheJson = redisOperator.get(redis_user_CACHE + ":" + userId);

        if (StringUtils.isnotBlank(redisUserCacheJson)) {
            AppUser appUser = JsonUtil.jsonToObject(redisUserCacheJson, AppUser.class);

            if (appUser.getActiveStatus() == null || appUser.getActiveStatus() != UserStatus.ACTIVE.typE) {
                GraceException.display(ResponseStatusEnum.user_iNACTIVE_ERROR);
                return false;
            }
        } else {
            return false;
        }

        return true;

    }
}

注入spring容器并注册到拦截器中


    @Bean
    public UserActiveInterceptor userActiveInterceptor() {
        return new UserActiveInterceptor();
    }
    @Override
    public void addInterceptors(InterceptorRegistry registry) {

        registry.addInterceptor(userActiveInterceptor())
                .addPathPatterns("/user/getAccounTinfo");
    }

大佬总结

以上是大佬教程为你收集整理的激活状态拦截器全部内容,希望文章能够帮你解决激活状态拦截器所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。