2010-05-14 3 views
0

나는 하나의 서버에 asp.net 애플리 케이션을 가지고있다. 거기에 내가를 Page_Load에서 서버 측에 코드를 추가 한 :asp.net에서 맞춤 http-header를 얻으시겠습니까?

클라이언트 측에
Response.AddHeader("key", "password-key-from-hotel"); 

내가 양식을 가지고 :

<form ... action="www.link-to-another-domaint" > 
    <input type="hidden" id="asd" value="fgh" > 
    .... 
</form> 
<script type="text/javascript"> 
    document.forms[0].submit(); 
</script> 

그런 다음 다른 도메인에 - 내 다른 응용 프로그램도있다 - I

Request.Headers["key"].ToString(); 


을하지만 그런 헤더가 없습니다 : '이 코드에 의해 hedaer "키"를 얻으려고 노력 해요. desicion이 있습니까? 내 실수는 어디 갔지?

+0

저는 웹 서비스에 대한 보안 액세스와 같이 Credentails와 같은 것을 만들고 싶습니다. 그래서이 사용자 정의 http 헤더가 필요합니다. –

답변

0

나는 헤더가 아니라 요청 필드가 필요하다는 것을 알고 있습니다. 시도 :

Request["asd"] 
+0

아니요, "password-key-from-hotel"값으로 "key"헤더를 가져와야합니다. –

+0

@Sirius Lampochkin - 추가 헤더를 보내려면 브라우저에 어떻게 요청 하시겠습니까? 나는 그것이 가능하다고 생각하지 않는다. – Andrey

0

서버 측에서 http 헤더를 추가 한 다음 클라이언트 측에서 양식을 게시하려고합니다.

그래서 헤더를 잃어 버렸습니다.

AFAIK, 양식 제출시 클라이언트 쪽에서 http 헤더를 추가 할 수 없습니다 (예외는 XHR 및 기타 플러그인 일 수 있지만 게시물은 도메인 간이므로 ajax가 작동하지 않음).

나는 그것을하는 모든 이유를 이해하지 못하지만 한 페이지에서 다른 페이지로 사용자 정의 헤더를 전달하는 가장 쉬운 방법은 Server.Transfer 메서드를 사용하는 것입니다.

소스 페이지 :

Response.AppendHeader("key", "password-key-from-hotel"); 
Server.Transfer("www.link-to-another-domain"); 

대상 페이지 (심지어 다른 도메인) :

string key = Request.Headers["key"]; 

이 작동합니다. 그러나 Server.Transfer 메서드는 자체 limitations 있습니다.

+0

그래서 ... 한 도메인에서 다른 도메인으로 사용자 정의 http 헤더를 보내는 방법이 있습니까? –

+0

@Sirius Lampochkin : 예, 서버 쪽 양식, 서버 쪽 게시물 및 대상 페이지로 리디렉션/전송. – Alex

+0

@Sirius Lampochkin : 숨겨진 입력을 사용하여 전달 – Andrey