Java Spring Boot, Oauth2 endpoint pozwolenie, brak principal

0

Witam posiadam zwykłą metodkę, którą chciałbym aby niezalogowany użytkownik mógł zobaczyć

    @GetMapping
    public ResponseEntity<Page<RestaurantDto>> getAllRestaurant(Principal user, Pageable pageable,
                                                                @RequestParam(required = false) boolean my) {
        return new ResponseEntity<>(restaurantService.getAllRestaurants(user.getName(), pageable, my), HttpStatus.OK);
    }

Gdzie dostaje wszystkie restauracje dla klientów jak i również restaurację, które są tylko właściciela (parametr my).

    @Override
    public void configure(WebSecurity web) {
        web.ignoring().antMatchers("/v3/api-docs/**", "/swagger-ui.html", "/swagger-ui/**");
    }

Tutaj jak wyżej pokazane dodaje ten endpoint (teraz w kodzie nie ma). Wszystko działa niby ok (jest dostęp bez zalogowanie) tylko, że gdy chciałbym zobaczyć tylko właściciela restauracje to muszę mieć jego id, które jest w principal, ale principal jest null bo jednak ignorujemy ten url i tutaj pytanko czy jest na to jakieś wyjście ?

Myślałem żeby zduplikować metodę i udostępnić publicznie tylko nie wiem czy to jest dobra praktyka (zapewne nie :D). Wtedy jedno było by do publicznego a drugie właściciel mógłby sobie zobaczyć tylko swoje restauracje.

2

o_O if (principal != null)... wiesz ze można po prostu rozpatrywać 2 sytuacje i robić getAllRestaurants albo getUserRestaurants? Niemniej ja bym dał 2 endpointy bo teraz to trochę dziwna logika. Zwykle po zalogowaniu widać więcej a nie mniej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1