Можно ли контролировать регистрацию в cayenne на уровне Bean - чтобы остановить регистрацию паролей - PullRequest
0 голосов
/ 04 апреля 2019

При запуске Cayenne с приложением Java в режиме DEBUG операции cayenne видны - пароли можно увидеть в журналах, когда парольизменилось.

Невозможно найти информацию о управлении журналированием на уровне компонента или класса. Журнал выглядит примерно так! MESSAGE [batch bind: 1-> USERPWD: '1923a3d170120bb7709ef2f733c0cd ...', 2-> SECURID: 19]

Было бы хорошо прекратить регистрировать все изменения, связанные с паролем

1 Ответ

0 голосов
/ 05 апреля 2019

Ваш пароль хеширован (что здорово), а хеш урезан, так что вы не подвергаете себя большой опасности. Но если вы хотите быть очень осторожным, вы можете установить свой собственный JdbcEventLogger:

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

В Cayenne 4.1 для MyJdbcEventLogger вы можете создать подкласс Slf4jJdbcEventLogger, переопределив его appendParameters, чтобы проверить параметры, похожие на пароли. В 4.0 appendParameters это закрытый метод, поэтому вам, возможно, придется скопировать / вставить весь код Slf4jJdbcEventLogger в свой код и внести в него изменения.

...