【问题标题】:Is it possible to control cayenne logging at a Bean level - in order to stop logging passwords是否可以在 Bean 级别控制 cayenne 日志记录 - 以停止记录密码
【发布时间】:2019-04-04 20:22:59
【问题描述】:

DEBUG 模式下使用 Java 应用程序运行 Cayenne 时,cayenne 操作是可见的 - 密码 可以在日志中看到,当密码被更改。

无法找到有关在 bean 或类级别控制日志记录的信息。 日志看起来像 !MESSAGE [batch bind: 1->USERPWD:'1923a3d170120bb7709ef2f733c0cd...', 2->SECURID:19]

最好停止记录所有与密码相关的更改

【问题讨论】:

    标签: apache-cayenne


    【解决方案1】:

    您的密码已经过哈希处理(这很棒),并且哈希值已被修整,因此您不会暴露太多信息。但是如果你想格外小心,你可以安装自己的JdbcEventLogger

    ServerRuntime rt = ServerRuntime.builder()
       .addModule(b -> b.bind(JdbcEventLogger.class).to(MyJdbcEventLogger.class)
       ....
    

    在 Cayenne 4.1 中,MyJdbcEventLogger 可以继承 Slf4jJdbcEventLogger,覆盖其 appendParameters 以检查看起来像密码的参数。在 4.0 中,appendParameters 是一个私有方法,因此您可能必须在代码中复制/粘贴整个 Slf4jJdbcEventLogger 并在那里进行更改。

    【讨论】:

      猜你喜欢
      • 2011-06-05
      • 1970-01-01
      • 2017-08-01
      • 2021-12-12
      • 1970-01-01
      • 1970-01-01
      • 2022-11-23
      • 2016-12-20
      • 1970-01-01
      相关资源
      最近更新 更多