sensitive-word-admin 敏感词控台 v1.2.0 版本开源

开源目的

丰富 sensitive-word 的生态。

提供最基本的操作例子,便于在此基础上丰富实现自己的敏感词控台。

避免重复开发的成本,让更多的精力专注于业务。

拓展阅读

sensitive-word-admin 敏感词控台 v1.2.0 版本开源
sensitive-word 基于 DFA 算法实现的高性能敏感词工具介绍

v1.2.0 版本特性

优化对应的组件依赖,sensitive-word 同步升级到最新版本。

修复已知问题。

模板已包含敏感词基础的操作,后续将持续优化。

核心 api

提供了核心的 api,可以让用户自行调用。在这个基础上封装自己的脱敏服务。

接口列表

api 入参 出参 说明
/api/sensitiveWord/contains string boolean 是否包含敏感词
/api/sensitiveWord/findAll string List<String> 获取所有的敏感词
/api/sensitiveWord/findFist string string 获取第一个的敏感词
/api/sensitiveWord/replace string string 获取替换后的结果
/api/sensitiveWord/tags string Set<String> 获取敏感词的标签列表

核心实现

spring 配置

java 复制代码
@Configuration
public class SensitiveWordConfig {

    @Autowired
    private MyDdWordAllow myDdWordAllow;

    @Autowired
    private MyDdWordDeny myDdWordDeny;

    /**
     * 初始化引导类
     * @return 初始化引导类
     * @since 1.0.0
     */
    @Bean
    public SensitiveWordBs sensitiveWordBs() {
        return SensitiveWordBs.newInstance()
                .wordAllow(WordAllows.chains(WordAllows.defaults(), myDdWordAllow))
                .wordDeny(WordDenys.chains(WordDenys.defaults(), myDdWordDeny))
                .ignoreRepeat(false)
                // 各种其他配置
                .init();
    }

}

最核心的代码部分,引入初默认配置之外的数据库的 MyDdWordAllow + MyDdWordDeny,通过数据库层面的

refresh

每次敏感词变更,会触发对应的敏感词 refresh 操作。

所以不用重启,就可以实现敏感词的实时刷新。

后续会做进一步的优化,让敏感词精确到单个词,刷新性能更好。

开源地址

github.com/houbb/sensi...

后续 ROAD-MAP

  • 登录/登出
  • 页面操作的权限管理
  • 调用方系统 token 注册管理
  • 敏感词的数据大盘
  • 调用信息数据大盘
  • 操作审计日志

参考资料

github.com/houbb/sensi...

相关推荐
云烟成雨TD1 小时前
Spring AI Alibaba 1.x 系列【69】Token 用量统计
java·人工智能·spring
JAVA9651 小时前
JAVA面试-并发篇 03-使用synchronized doublecheck实现单例有什么坑
java·单例模式·面试
在繁华处1 小时前
Java从零到熟练(四):面向对象基础
java·开发语言
小江的记录本3 小时前
【JVM虚拟机】堆内存分代模型:年轻代(Eden+Survivor)、老年代、元空间Metaspace(附《思维导图》+《面试高频考点清单》)
java·前端·jvm·后端·python·spring·面试
在繁华处3 小时前
Java从零到熟练(三):流程控制
java·开发语言·python
唐青枫3 小时前
Java Optional 实战指南:优雅处理空值与链式转换
java
一起学开源3 小时前
一文读懂 ReAct 范式:让 AI Agent 真正学会“思考+行动“
java·javascript·react.js·ecmascript·react·alibaba·智能体开发
逍遥德4 小时前
MQTT教程详解-04.SpringBoot集成MQTT(告别手动控制)
java·spring boot·物联网·中间件·iot·iotdb
语戚4 小时前
力扣 3161. 块放置查询:线段树解法(Java 实现)
java·算法·leetcode·面试·线段树·力扣·
冬奇Lab4 小时前
每日一个开源项目(第119篇):Darwin Skill - 受 Karpathy 启发,让 AI 技能无限进化的“棘轮”系统
人工智能·开源