ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

项目细节

2022-01-18 12:04:48  阅读:137  来源: 互联网

标签:拦截器 查看 登录 项目 用户 细节 动态 HandlerInterceptor


探花细节

开发环境:IDEA+Git+Maven
技术框架:SpingCloud+MyBatisPlus+Redis+MangoDB+FastDFS+Dubbo+Nacos+RabbitMQ
项目描述: 
一款主打陌生人社交的软件, 用户可以发布音视频作品,可以搜索附近的人,查看好友动态,平台还会通过大数据计算进行智能推荐,通过智能推荐匹配好友,提供了在线即时通讯功能,可以实时的与好友进行沟通

个人职责: 
配合产品部门进行业务流程梳理评审和技术可行性评估的相关工作

负责用户单点登录、完善个人信息模块开发工作
	●使用JWT加密用户信息生成token缓存Redis(对应单点登录)
负责个人中心、互动、附近推荐、评论模块开发工作
	●基于MangoDB存储用户的关注作者、粉丝、点赞作品、作品点赞数量、评论点赞数量
	●使用mongodb geo 实现地理位置查询实现搜索发现附近的人
负责图片、音视频等动态信息发布展示,IM即时通讯模块开发工作
	●使用第三方API进行图片存储、内容审核、人脸识别、即时通讯

APP端

单点登录

  • 注册

    • 上传头像(ALiFace)
    • 保存用户信息
  • 登录接口放行

    • 基于WebMvcConfigurer接口类对所有接口处理
    • addInterceptors:拦截器
    • addInterceptor:需要一个实现HandlerInterceptor接口的拦截器实例
    • addPathPatterns:用于设置拦截器的过滤路径规则;addPathPatterns("/**")对所有请求都拦截
    • excludePathPatterns:用于设置不需要拦截的过滤规则
    • 拦截器主要用途:进行用户登录状态的拦截,日志的拦截等。

    image-20220118114043631

    实现思想

    放行用户进入登录接口拦截所有后续请求交给给Interceptor进行验证
    
    • 统一JWT验证处理(重点

      • 注册登录 -->基于ThreadLocal + HandlerInterceptor拦截器的形式统一处理

        image-20220118112029265

        • 拦截器HandlerInterceptor

          image-20220118112051280

          • - HandlerInterceptor是一种动态拦截方法调用的机制;
            - 类似于Servlet 开发中的过滤器Filter,用于对处理器进行前置处理和后置处理。
            
        • ThreadLocal

          - 线程内部的存储类,赋予了线程存储数据的能力。
          - 线程内调用的方法都可以从ThreadLocal中获取同一个对象。
          - 多个线程中ThreadLocal数据相互隔离
          

          image-20220118114746081

          实现思想

          • 定义一个实现HandlerInterceptor接口统一处理Token的类
            • 重写preHandle方法,这个方法会在controller之前执行
            • 在preHandle方法中拦截获取请求头中的'Authorization'判断token是否有效
            • 如果有效就将token中的用户信息封装进ThreadLocal中,放行请求进入controller并延长token在redis中的存储时间
            • 如果无效就返回401让用户先登陆账号
  • 信息管理

    • 查看、更新用户资料
    • 设置陌生人问题
    • 设置黑名单

圈子互动

  • 个人中心

    • 发布动态(发布视频(FastDFS、SpringCache)、图片(OSS))
    • 查看个人动态
  • 动态查询

    • 查询好友动态
    • 查询推荐动态
    • 根据ID查询动态
  • 互动

    • 动态评论
    • 点赞
    • 喜欢

即时通讯

  • 通讯
    • 查看佳人、陌生人信息
    • 联系人管理(添加、删除、列表)
    • 信息通讯(图、音、视频)
  • 访客
    • 访客记录,谁看过我、查看访客列表
  • 附近的人
    • 上报定位
    • 搜索附近

后台系统

配置

  • gateway网关
  • Nacos配置中心
  • nginx负载均衡

后台系统

  • 生成验证码
  • 用户登录
  • 获取用户资料
  • 查看用户列表
  • 查看用户详情
  • 查看视频列表
  • 查看动态列表
  • 用户冻结解冻

数据统计和动态审核

  • 查询数据列表
  • 数据统计
  • 定时任务
  • 首页统计
  • 阿里云内容审核
  • 动态审核

标签:拦截器,查看,登录,项目,用户,细节,动态,HandlerInterceptor
来源: https://www.cnblogs.com/RefineCcl/p/15817178.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有