Dodanie użytkownika do formularza ze Spring security

Dodanie użytkownika do formularza ze Spring security
MA
  • Rejestracja:około 10 lat
  • Ostatnio:ponad 3 lata
  • Postów:10
0

Cześć

Mam zrobiony prosty system newsów z użyciem bazy danych mysql, który jest zabezpieczony za pomocą spring security. pola w bazie to ID | Tytuł | wiadomość, chciałbym dodać do tabeli jeszcze jedno pole o nazwie autor, które byłoby wypełniane automatycznie wartością nazwy użytkownika zalogowanego. To jedno pole dodałem w modelu natomiast nie wiem jak zrobić, żeby dodawało użytkownika, moglibyście mnie nakierować, nigdzie nie mogę znaleźć jak to zrobić. Z góry dzięki

MA
  • Rejestracja:około 10 lat
  • Ostatnio:ponad 3 lata
  • Postów:10
0

Okej, już sobie poradziłem, tyle tego szukałem i nie mogłem znaleźć a po napisaniu posta jeszcze jedna próba i zadziałało, użyłem czegoś takiego w Service.

Kopiuj
        Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
        String currentPrincipalName = authentication.getName();

        entity.setUser(currentPrincipalName);
        entity = repository.save(entity);
        return entity;
Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
2

Authentication authentication = SecurityContextHolder.getContext().getAuthentication();

I cyk, już się nie da przetestować tego kodu inaczej niż integracyjnie, bo masz static call ;) Obiekt Authentication możesz dodać do kontrolera jako jeden z parametrów i Spring Security go ci tam wrzuci.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
KamilAdam
Zaraz znów ktoś przyjdzie i powie te brzydkie słowa P*w*rM*ck
Shalom
Ja wiem że się da, ale jak używasz powermocka do własnego kodu, to zależy zafundować sobie ostrzegawczy strzał w potylice :P
Charles_Ray
Ja kiedyś korzystałem z PowerMocka i śmigało
S9
  • Rejestracja:około 11 lat
  • Ostatnio:12 miesięcy
  • Lokalizacja:Warszawa
  • Postów:3573
1

@Shalom: to jedno, drugie że wartwa logiki nie powinna wiedziec o warstwie prezentacji/outputu. Nie powinno być żadnych rzeczy z http, soapami kafkami.
Choć trudno o CRUDZIE powiedzieć żeby miał logike :D


"w haśle <młody dynamiczny zespół> nie chodzi o to ile masz lat tylko jak często zmienia się skład"
Shalom
Spokojnie, przypuszczam ze cała ta jego logika siedzi w kontrolerze :D
MA
  • Rejestracja:około 10 lat
  • Ostatnio:ponad 3 lata
  • Postów:10
0

dzieki za wskazówki, hmmm tylko po co ten sarkazm?

Charles_Ray
Tak tutaj po prostu jest, natomiast dostałeś kilka wartościowych uwag na temat testowalności i designu kodu.
MA
tak, tylko nie rozumiem ludzi, którzy próbują się dowartościować w sieci, można udzielać normalnych odpowiedzi na zadane pytanie.
Charles_Ray
Jakbyś klepał crudy non stop, to byś zrozumiał ;) żartuje, w pełni się z Tobą zgadzam.
Shalom
@maxcess: nie zadałeś pytania, albo inaczej: sam sobie na nie odpowiedziałeś, więc nie rozumiem w czym rzecz. Twoje rozwiązanie zwyczajnie jest słabe.

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.