Używam spring-security i jQuery w mojej aplikacji. Strona główna dynamicznie ładuje zawartość do kart przez Ajax. Wszystko jest w porządku, ale czasami mam stronę logowania w mojej zakładce, a jeśli wpiszę poświadczenia, zostanie przekierowany do strony zawartości bez kart.Jak obsłużyć wygasłą sesję przy użyciu funkcji spring-security i jQuery?
Chciałbym poradzić sobie z tą sytuacją. Wiem, że niektórzy ludzie używają uwierzytelniania ajaxowego, ale nie jestem pewien, czy jest odpowiedni dla mnie, ponieważ wydaje mi się to dość skomplikowane, a moja aplikacja nie pozwala na żaden dostęp bez wcześniejszego logowania. Chciałbym napisać globalny handler dla wszystkich odpowiedzi ajax, które wykonają window.location.reload()
, jeśli potrzebujemy uwierzytelnienia. Myślę, że w tym przypadku lepiej jest uzyskać błąd 401
zamiast standardowego formularza logowania, ponieważ jest on łatwiejszy w obsłudze.
Więc
1) Czy jest możliwe aby napisać globalnej obsługi błędów dla wszystkich żądań AJAX jQuery?
2) Jak mogę dostosować zachowanie zabezpieczeń sprężynowych, aby wysyłać błąd 401 dla żądań ajax, ale dla zwykłych żądań, aby pokazać standardową stronę logowania jak zwykle?
3) Może masz więcej wdzięcznego rozwiązania? Udostępnij to.
Dzięki.
Minęło trochę czasu, odkąd o to poprosiłeś. Czy sam wymyśliłeś dobre rozwiązanie? –
Niedawno napisałem wpis na blogu na ten temat: http://www.to-string.com/2012/08/03/springsecurity-authenticating-authorizing-ajax-requests/ – craftsman
Podoba mi się rozwiązanie dla robotników. Uprośniłem to (przynajmniej tak myślę). Zobacz http://gedrox.blogspot.com/2013/03/blog-post.html. – Gedrox