2011-11-29 4 views
0

내 로컬 iis에서 호스팅되는 aspnet 웹 응용 프로그램을했습니다. 다른 웹 응용 프로그램에서는 링크를 원하고 링크를 클릭하면 자격 증명을 묻지 않고 호스팅 된 웹 응용 프로그램을 열어야합니다. 아래 코드를 사용하여 작동하지만 작동하지 않습니다.aspnet C# 양식 제출 자바 스크립트를 사용하여

<html> 
<script type="text/javascript"> 
    function OpenURL() { 
     var form = document.createElement("form"); 
     form.setAttribute("method", "POST"); 
     form.setAttribute("action", "http://10.10.10.10/Domain/Login.aspx"); 

     var hiddenField = document.createElement("input"); 
     hiddenField.setAttribute("type", "hidden"); 
     hiddenField.setAttribute("name", "UserName"); 
     hiddenField.setAttribute("value", "UserTest"); 
     form.appendChild(hiddenField); 

     var hiddenField2 = document.createElement("input"); 
     hiddenField2.setAttribute("type", "hidden"); 
     hiddenField2.setAttribute("name", "Password"); 
     hiddenField2.setAttribute("value", "PasswordTest"); 
     form.appendChild(hiddenField2); 

     document.body.appendChild(form); 
     form.submit(); 
    } 
    </script> 
<body onload="OpenURL();"> 
</body> 
</html> 

아무도 도와 줄 수 있습니까?

답변

0

당신은 당신의 당신은 단순히 다음과 같이 양식을 제출 온로드에서 실제 HTML 태그를 넣어 시도 할 수 있습니다 : (기압을 테스트 할 수 없습니다, 다만 힌트를 제공하는 의사 코드)

<body onLoad="javascript:myform.submit();"> 
    <form name="myform"...> 
    <input ...> 
    <input ..> 
    </form> 
</body> 
+0

답장을 보내 주셔서 감사합니다. – Krrish

+0

이제 귀하의 제안에 따라 코드를 사용하고 있지만 여전히 작동하지 않습니다. 참고로, 타겟 웹 애플리케이션에서 로그인 컨트롤을 사용했습니다.

;
Krrish

0

시도 이 모든 입력 요소 :

hiddenField.type = "hidden"; 
hiddenField.name = "UserName"; 
hiddenField.value = "UserTest"; 

대신 :

hiddenField.setAttribute("type", "hidden"); 
hiddenField.setAttribute("name", "UserName"); 
hiddenField.setAttribute("value", "UserTest"); 
0

나는 것 같아 javascript를 사용하여 자격 증명을 직접 전달/할당하는 것보다는 호스트 된 웹 응용 프로그램에서 적절한 끝점을 설정하는 것이 가장 좋습니다.

암호화 된 정보를 전달하고 호스팅 된 웹 응용 프로그램에서 디코딩하고 암호화 된 자격 증명을 처리 한 후 방문 페이지를 설정하여 로그인 제출의 기능을 모방 한 컨트롤러 메서드를 만들 수 있습니다. 뭔가 같은

http://10.10.10.10/Domain/LoginRedirect?data=your_encrypted_data_here 

그러나 당신이하려고하는 것은 호스팅 웹 응용 프로그램에 관한 정보를/가져 오기 저장/업데이트 할 경우, 당신은 API 엔드 포인트를 작성하려고 할 수 있으며, 편안한 호출을 사용하여 수행/인증

.

관련 문제