Удаление журнала из журнала аутентификации Spring Security - PullRequest
0 голосов
/ 04 мая 2018

В AbstractUserDetailsAuthenticationProvider.class у нас есть метод AbstractUserDetailsAuthenticationProvider.authenticate, исключение BadCredentialsException, если имя пользователя не найдено:

    try {
        user = retrieveUser(username, (UsernamePasswordAuthenticationToken) authentication);
    } catch (UsernameNotFoundException notFound) {
        ***logger.debug("User '" + username + "' not found");***

        if (hideUserNotFoundExceptions) {
            throw new BadCredentialsException(messages.getMessage(
                    "AbstractUserDetailsAuthenticationProvider.badCredentials", "Bad credentials"));
        } else {
            throw notFound;
        }
    }

Что делать, если я не хочу регистрировать сообщение об ошибке logger.debug («Пользователь» + «имя пользователя +» «не найден»), так как это уязвимость системы безопасности (если пользователь случайно вводит пароль в имени пользователя тогда это регистрируется).

1 Ответ

0 голосов
/ 05 мая 2018

Как правило, когда вы запускаете приложение в рабочей среде, вам не следует запускать с общим уровнем ведения журнала до debug, см. этот ответ о том, какие из них использовать.

Однако вы можете настроить уровень ведения журнала этого класса так, чтобы он был менее подробным, чем debug, например info. Таким образом, он не будет регистрировать запись User x not found.

Чтобы установить уровни журналов отдельных классов (зависит от реализации), см. этот ответ .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...