Witam,
Temat trochę mało sensowny, ale nie potrafię wymyślić żadnego rozwiązania, które by mi odpowiadało. Praktycznie w każdej klasie serwisu potrzebuję czasem sprawdzić zalogowanego User'a (np. żeby sprawdzić czy dany zasób do niego należy i czy mogę go zwrócić/edytować). W chwili obecnej po prostu wstrzykuję sobie UserRepo do serwisu i w każdym mam powielone 2 metody:
private User getLoggedUser() {
return userRepo.findByUsername(getLoggedUserName());
}
private String getLoggedUserName() {
return SecurityContextHolder.getContext().getAuthentication().getName();
}
Jest to beznadziejne rozwiązanie ze względu na powielanie kodu. Mógłbym np. pozostawić te metody jedynie w UserService, zmienić je na publiczne i wstrzykiwać ten serwis w każdym innym, ale nie jestem przekonany do tego spoobu. Jak najlepiej to rozwiązać?