cl
4 天以前 936dd65f69e1c9b17ed8abd4edf4c624cee68e23
rsf-http-audit/src/main/java/com/vincent/rsf/httpaudit/props/HttpAuditProperties.java
@@ -17,8 +17,17 @@
    private boolean enabled = true;
    /** 是否注册 /httpAuditRule、/httpAuditLog、/httpAuditSysConfig 等管理接口 */
    private boolean adminApiEnabled = true;
    /** 是否提供静态查询页与 /http-audit/open/log/page(默认 true;可 simple-ui-enabled=false 关闭) */
    private boolean simpleUiEnabled = true;
    /** 非空时要求请求头 X-Http-Audit-Ui-Token 与本值一致;留空则不校验(公网建议配置) */
    private String simpleUiToken = "";
    /**
     * true:入站/出站是否落库由 {@code sys_http_audit_rule} 决定(含 record_all=1 全量、方向 IN/OUT/BOTH、截断长度);false:排除路径外入站与全部出站均记录,截断用本配置 + 规则中「全量」行的 request/response_max_chars(若有)
     * true:入站/出站是否落库由 {@code sys_http_audit_rule} 匹配决定(record_all 仅影响命中条的截断;方向 IN/OUT/BOTH);false:排除路径外入站与全部出站均记录,截断用本配置默认字段
     */
    private boolean whitelistOnly = true;
@@ -51,7 +60,7 @@
    private List<String> excludePathPrefixes = defaultExcludes();
    /**
     * true:默认排除中的 /httpAuditLog、/httpAuditRule 仍生效;false:不再排除这两项(便于调试;record_all 也无法绕过 true 时的排除)
     * true:默认排除中的 /httpAuditLog、/httpAuditRule 仍生效;false:不再排除这两项(便于调试;命中规则也无法绕过 true 时的排除)
     */
    private boolean excludeAuditSelfPaths = true;
@@ -59,7 +68,7 @@
    public List<String> getEffectiveExcludePrefixes() {
        List<String> list = excludePathPrefixes == null ? new ArrayList<>() : new ArrayList<>(excludePathPrefixes);
        if (!isExcludeAuditSelfPaths()) {
            list.removeIf(p -> "/httpAuditLog".equals(p) || "/httpAuditRule".equals(p));
            list.removeIf(p -> "/httpAuditLog".equals(p) || "/httpAuditRule".equals(p) || "/httpAuditSysConfig".equals(p));
        }
        return list;
    }
@@ -120,6 +129,8 @@
        list.add("/static/");
        list.add("/httpAuditLog");
        list.add("/httpAuditRule");
        list.add("/httpAuditSysConfig");
        list.add("/http-audit/");
        return list;
    }