монументально, очень интересная статья была бы если бы не барьер в профессионализме. Если честно, то ни чего не понять. Сам программирую на java se, но в анотаторах не силен, как и в технологиях в целом.
SecurityContextPersistenceFilter — думаю, что тут можно ещё упомянуть, что он не только заполняет SecurityContextHolder, но и сохраняет его значение обратно в репозиторий (в сессию в дефолтной имплементации) по окончании запроса. То есть, все манипуляции с SecurityContext во время запроса будут сохранены с помощью этого же фильтра.
Не вызывайте SecurityContextHolder.getContext().getAuthentication(); для получения текущего юзера
По поводу этого пункта и своего HandlerMethodArgumentResolver — думаю, также можно упомянуть, что с четвертого спринга для этих целей есть аннотация @AuthenticationPrincipal и, соответственно, AuthenticationPrincipalArgumentResolver.
Путь запроса по внутренностям Spring Security