Spring - sprawdzenie czy uzytkownik jest zalogowany

Spring - sprawdzenie czy uzytkownik jest zalogowany
AA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 29
0

Czy można w jakiś przystępny sposób sprawdzić czy użytkownik jest zalogowany mając do dyspozycji Authorization?
Authorization ma isAuthenticated(), ktore niestety działa inaczej niż bym chciał. Próbowałem też wykorzystać fakt, że niezalogowany user dostaje AnonymousAuthenticationToken i użyć

Kopiuj
 if(authentication instanceof AnonymousAuthenticationToken){
    throw new ForbiddenDataAccessException() 
};

ale, mimo ze niezalogowany user dostaje taki authentication:

org.springframework.security.authentication.AnonymousAuthenticationToken@9055c2bc: Principal: anonymousUser; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@b364: RemoteIpAddress: 0:0:0:0:0:0:0:1; SessionId: null; Granted Authorities: ROLE_ANONYMOUS

to i tak nie wchodzi w powyższego if'a.

Dziala natomiast sprawdzenie authentication.getName().equals("anonymousUser") ale nie za bardzo podoba mi się takie rozwiązanie i sprowadza kolejne problemy tj. zablokowanie mozliwosci utworzenia usera o takim loginie

AA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 29
0

rozwiązałem ten problem dodając odpowiednią sciezke w konfiguracji WebSecurityConfigurerAdapter aczkolwiek nadal mnie zastanawia dlaczego nie działał mi ten pierwszy if

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.