>  Q&A  >  본문

java - 매개변수를 전달하는 도메인 간 리디렉션 문제를 해결하는 방법은 무엇입니까? 리디렉션 URL 끝에 매개변수를 연결하는 방법을 사용하지 마세요.

매개변수를 전달하는 도메인 간 리디렉션 문제를 해결하는 방법은 무엇입니까? 리디렉션 URL 끝에 매개변수를 연결하는 방법을 사용하지 마세요

요구 사항, 프로젝트 A는 서버 B의 프로젝트 B로 리디렉션되어야 하며, 매개 변수는 사용자에게 보이지 않으므로 매개 변수를 리디렉션 URL 뒤에 연결할 수 없습니다. 다른 해결책이 있나요?

이 프로젝트는 spring을 사용합니다

RedirectAttributes.addFlashAttribute는 불가능합니다. 동일한 프로젝트 내의 컨트롤 간에만 리디렉션할 수 있습니다.

이 문제는 해결되지 않았습니다. 답장을 보내주세요.

보충 질문:
(1) 아래층에 답변
요청 헤더에 데이터를 넣을 수 있지만, 다른 서버에서는 요청 헤더를 허용하는 사용자 정의 필드를 설정해야 합니다

이것을 어떻게 이해하나요? 달성하는 방법?

브라우저가 서버 A(ajax 요청 아님)를 요청하면 서버 A는 302 응답과 리디렉션 URL을 반환하여 클라이언트를 리디렉션합니다. 이때 서버 A는 전달해야 하는 매개변수를 응답 헤더에 배치할 수 있습니다. 그러면 브라우저는 대상 URL Redirect에 응답하지만 이전 리디렉션 응답 헤더 정보는 현재 전달되지 않습니다

어떻게 그 사람이 거기까지 가지고 가도록 할 수 있나요?

(2) 질문 2: 서버가 302 리디렉션 응답을 반환합니다. 이 응답에 응답 본문 메시지가 포함될 수 있나요? ? ?

내가 테스트하는 것은 응답을 사용하여 데이터를 쓰는 것이지만 브라우저는 리디렉션 응답 데이터를 볼 수 없기 때문에 구현 시 이를 어떻게 제어합니까? 모든 리디렉션 응답에 응답 본문이 포함되어 있지 않습니까?

伊谢尔伦伊谢尔伦2702일 전1859

모든 응답(8)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-05-27 17:43:37

    요청 헤더에 데이터를 넣을 수 있지만, 요청 헤더 필드를 맞춤설정하려면 상대 서버에서 권한을 설정해야 합니다

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-05-27 17:43:37

    1. 서버 A는 B에 매개변수를 보내고 B의 응답을 기다립니다

    2. B는 매개변수를 가져와서 저장하고 A에게 토큰으로 응답합니다. A는 이 토큰을 운반하고 B

    3. 로 리디렉션합니다.
    4. B는 A로부터 리디렉션을 수신하고 토큰을 기반으로 1단계에서 저장된 매개변수를 얻습니다

    회신하다
    0
  • PHP中文网

    PHP中文网2017-05-27 17:43:37

    <form method="POST">,把参数填以<input type="hidden" ...>的形式填到<form>里,再用JavaScript触发submit()을 생성하면 이러한 매개변수가 주소 표시줄에 보이지 않게 대상 사이트로 이동됩니다.

    회신하다
    0
  • 仅有的幸福

    仅有的幸福2017-05-27 17:43:37

    초대해 주셔서 감사합니다. 두 서비스를 모두 직접 제어하는 ​​경우 매개변수 내용을 암호화하는 것으로 충분합니다. http 세션이 암호화되고 해독되는 방식과 관련 보안 표준이 있습니다.

    회신하다
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-27 17:43:37

    프론트엔드 관점에서 이 문제를 해결해 보는 것은 어떨까요? 프런트 엔드를 통해 Ajax 요청을 보낸 다음 jsonp를 사용하여 도메인 간 매개변수 전송 문제를 해결하세요

    회신하다
    0
  • 漂亮男人

    漂亮男人2017-05-27 17:43:37

    또는 사용자가 중간 계층 서비스를 요청할 때 특정 매개변수를 볼 수 없도록 중간 계층 서비스를 만들고 이를 통해 도메인 간 문제도 제어할 수 있습니다

    회신하다
    0
  • 仅有的幸福

    仅有的幸福2017-05-27 17:43:37

    서버 B의 데이터와 주소를 브라우저의 ajax에 씁니다. ajax는 주소를 얻은 후 데이터를 서버 B에 게시합니다.

    회신하다
    0
  • phpcn_u1582

    phpcn_u15822017-05-27 17:43:37

    1. 이 두 서버를 제어할 수 있는 경우 쿠키를 사용하여 도메인 간 302 리디렉션을 통해서만 쿠키 요청 헤더 및 기타 사용자 정의 요청 헤더를 사용하여 서버 B에 액세스할 수 있습니다. 가져가지 마세요.
    2. http 프로토콜은 응답 본문을 302 응답에 포함할 수 없다고 규정하지 않습니다. 어쩌면 브라우저가 이를 자동으로 무시할까요?
    3. 307을 사용하면 게시물 요청이 새 URI에 게시됩니다. 자세한 내용은 rfc2616-307을 참조하세요

    회신하다
    0
  • 취소회신하다