Zabezpieczamy nasze usługi REST (dla komunikacji serwer-serwer, bez udziału użytkownika) z Spring Security OAuth2. Jednak, gdy ktoś próbuje uzyskać dostęp do chronionego zasobu w przeglądarce, to pokaże:Dostosuj SpringSecurity OAuth 2 Wyjście błędu (nieautoryzowane)
<oauth>
<error_description>
An Authentication object was not found in the SecurityContext
</error_description>
<error>unauthorized</error>
</oauth>
Chcemy to za zwyczaj strona naszego własnego wyboru. Czy istnieje sposób?
Ustawienie strony zabronionej przez dostęp zabronione. Po pierwsze wymaga zdefiniowania strony logowania, której nie mamy, ponieważ jest to czysta komunikacja między serwerami. W przypadku innego tego atrybutu jest rzekomo przestarzałe od wiosny 3.0 .. lub coś.
W każdym razie ... Debugowałem moją drogę do obsługi błędów OAuth. Okazało się, że odpowiedź w jakiś sposób wzbogaca się o informacje, które widzę na stronie błędu. Wygląda na to, że w ogóle nie jest wykonywane renderowanie strony, więc wygląda na to, że nie ma strony błędu do zastąpienia ...?!
Przynajmniej chcemy ukryć fakt, że używamy OAuth i wyświetlać zwykły tekst "Odmowa", jeśli nie możemy mieć "prawdziwej" strony. Więc może będę musiał rozszerzyć obsługę zabezpieczeń wiosennych lub dodać niestandardowy filtr, aby zmodyfikować odpowiedź ?!
Może przekierowanie do naszej strony błędów?
Dzięki!
Edit
Dla naszego obecnego Sprawdź konfigurację my other SO question here
Próbuję zrobić to samo w momment. Nie wiesz, jak jeszcze, jeśli masz rozwiązanie, udostępnij. Znalazłem tę (link poniżej) dyskusję na forum i wydaje się, że ma to coś wspólnego z używaniem programu obsługi RestTemplate ... http://forum.springsource.org/showthread.php?132846-Securing-REST-with-OAuth2 -Authentication-object-was-not-found-in-the-SecurityContext – rafaelxy
Myślę, że teraz zrozumiałem, że serwer OAuth nie będzie obsługiwał błędów i przekierowań, co jest obowiązkiem aplikacji klienta próbującej uwierzytelnić. Czy mam rację? – rafaelxy
Nie wiem teraz, czy to zadziała z OAuth, ale nie wykona tego zadania? security: http> –