Spring security i usuwanie zalogowanego administratora

0

Cześć,
próbuję przyswoić sobie Spring Security. W mojej małej aplikacji chciałbym żeby zalogowany admin nie mógł usunąć siebie samego. Chciałem to zrobić na takie zasadzie:

 Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
        User loggedUser = (User) authentication.getPrincipal();
        User userToDelete = userService.findById(id);
        if (userToDelete.getId() != loggedUser.getId()) {
        userService.delete(userToDelete);
}

Czy z poziomu bezpieczeństwa zapis "User loggedUser = (User) authentication.getPrincipal();" jest poprawny, można tak to zrobić?

1

Hm no przeciekanie warstw level hard tu uprawiasz. I to SecurityContextHolder.getContext().getAuthentication(); to rakulec over9000. Weź tego principala ładnie z konstrolera, i przepchaj do logiki domenowej jak człowiek ID. Z tym rzutowaniem to możesz, o ile masz pewność że jest legalne.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.