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

linyu-im

linyu-mini-server:springboot + vue + mysql。一款非常漂亮的linyu-im,它的mini版本,仅使用了mysql数据库
在这里插入图片描述在这里插入图片描述

1、数据库有sqlite和mysql,这里修改为mysql
2User类的badge徽章字段中使用了JacksonTypeHandler转为字符串为List<String>
3、一共4张表: user(用户表)、chat_list(聊天会话表)、message(消息表)、group(群组表)
4SecurityUtil 实现了rsa非对称公钥加密,私钥解密,aes对称加密解密
5DataBaseInitializer 在bean创建好后,读取sql文件,使用jdbcTemplate执行sql语句,创建表(如果不存在的话)。包括sqlite和mysql。
6、引入这个依赖,处理敏感词
   <dependency>
       <groupId>com.github.houbb</groupId>
       <artifactId>sensitive-word</artifactId>
       <version>0.24.0</version>
   </dependency>SensitiveWordConfig 定义 SensitiveWordBs 这个bean,并在 MessageServiceImpl 中使用这个bean的replace方法作替换
7、在 UserInfoArgumentResolver 中解析controller的 @Userid@UserIp2个注解,其中userid从request的属性的userinfo中获取userid,而userIp则使用 IpUtil 获取
8、使用 FilterRegistrationBean 定义 CorsFilter,解决跨域问题
9、在 CacheUtil 中使用 Caffeine 缓存,缓存用户id和token
<dependency>
    <groupId>com.github.ben-manes.caffeine</groupId>
    <artifactId>caffeine</artifactId>
</dependency>
10AuthenticationTokenFilter 过滤器使用 JwtUtil 解析用户x-token
11UrlLimitAspect 切面识别 @UrlLimit 注解(用户id或请求ip、请求次数),结合Caffeine缓存作限流
12ExpiredClearTask 清理了7天之前的 message 和 user
13、引入sshd的依赖
    <dependency>
        <groupId>org.apache.sshd</groupId>
        <artifactId>sshd-core</artifactId>
        <version>2.14.0</version>
    </dependency>SshServerService 中创建了1SshServer,并且端口是 2222,并且提供了密码认证器。
    这时,比如在windows启动了linyu应用,然后在windows的cmd中输入 ssh -p 2222 linyu@127.0.0.1,就会进入到ssh的终端
   (或者在linux上面输入 ssh -p 2222 linyu@192.168.134.5

http://www.kler.cn/a/577473.html

相关文章:

  • 蓝桥杯备赛:一道数学题(练思维(同余的应用))
  • 解决MySQL迁移到达梦数据库报错“字符串截断”的问题
  • Android Studio右上角Gradle 的Task展示不全
  • 《原型链的故事:JavaScript 对象模型的秘密》
  • 【0013】Python数据类型-列表类型详解
  • R软件线性模型与lmer混合效应模型对生态学龙类智力测试数据层级结构应用
  • 力大砖飞,纯暴力搜索——蓝桥p2110(写着玩的)
  • 深入理解 Java 中的 CopyOnWrite 机制
  • 【Go每日一练】返回切片中的最大值和最小值
  • GIMP 2.10 开源图像编辑软件安装教程(Windows平台)
  • 2024 Qiniu 跨平台 Qt 高级开发全解析
  • RISC-V汇编学习(三)—— RV指令集
  • 网络编程-----服务器(多路复用IO 和 TCP并发模型)
  • 题解:洛谷 AT_dp_c Vacation
  • 网络HTTP
  • 加速科技Flex10K-L测试机:以硬核创新重塑显示驱动芯片测试新标杆!
  • C#UDP通讯(数据接收)
  • OpenGL ES ->多重纹理贴图
  • Nginx(基础安装+配置文件)
  • RabbitMQ之旅(1)