Trong Spring MVC 2.5 với Jetty - có thể với bất kỳ thùng chứa servlet nào -, tôi muốn chuyển hướng đến một trang bên ngoài bằng cách sử dụng RedirectView thông qua ma thuật "redirect: "tiền tố cho tên chế độ xem trong ModelAndView.Spring MVC và Jetty: Ngăn chặn jsessionid không được sử dụng trong RedirectView khi chuyển hướng đến trang bên ngoài
Thật không may, RedirectView sử dụng response.encodeRedirectURL(), vì vậy, id phiên của tôi (otherwiese wanted) được thêm vào URL. Nó không chỉ là một nguy cơ bảo mật để mang id phiên tới trang bên ngoài, chuỗi "; jsessionid = gagnbaba" cũng có thể được hiểu là một phần của ContextPath/PathInfo trên trang web khác, dẫn đến một URL không hợp lệ.
Bất kỳ tùy chọn "mùa xuân" nào khác ngoài triển khai ExternalRedirectView của riêng tôi ... và cũng có thể tấn công ViewResolver để diễn giải tiền tố "externalRedirect:"? (Yêu cầu các tập tin cookie không phải là một lựa chọn.)
Moritz
'RedirectView' không gọi' response.encodeURL() ', nó gọi' response.encodeRedirectURL() ' – skaffman
đúng, cảm ơn. Sửa chữa trong câu hỏi. –
Làm cách nào để bạn triển khai 'ExternalRedirectView' khác với' RedirectView' chuẩn? – skaffman