2013-07-17 6 views
0

jsonp 객체를 반환하는 안정적인 웹 서비스를 개발했습니다. 나는 Ajax 호출을 사용하여 간단한 HTML 페이지에서이 웹 서비스를 사용하고있다. 클라이언트 측의 의미는이 웹 서비스에 액세스하는 HTML 페이지뿐입니다. 클라이언트 측에서 사용 된 서버가 없습니다. 이 페이지 브라우저를 실행하고 있습니다. 문제는 내가 구현 한이 웹 서비스에 누구든지 액세스 할 수 있다는 것입니다. 나는 그것을 어떤 종류의 인증으로 안전하게하고 싶다. 요청과 함께 토큰을 보내는 솔루션을 읽었지만 클라이언트 측에서는 서버 또는 기타 아무 것도없는 단순한 HTML 페이지가 있습니다. 웹 서비스를 보호하기위한 몇 가지 해결책을 알려주십시오. 당신이 인증 데이터를 인증 헤더를보안 jsonp ajax 호출

beforeSend: function(xhr) { 
    xhr.setRequestHeader("Authorization", "Basic " + "username:password"); 
}, 

을 보내거나 삽입 할 수 있습니다 아약스 요청으로

function calculatePremium(investmentAmount,month, premium) 
{ 
var url = "http://192.1.200.107:8080/webresources/avestWebService/getPremium"; 
var payLoadData = { 
    amount: $("#"+investmentAmount).val(), 
    period: $("#"+month).val() 
}; 

$.ajax({ 
    type: "GET", 
    url: url, 
    cache:false,    
    crossDomain:true, 
    data: payLoadData, 
    dataType: "jsonp", 
    success: function (data,textStatus,jqXHR) { 
     $("#"+premium).val(data.premium); 
    }, 
    error: function (jqXHR,textStatus,errorThrown) { 
     alert('Error occured'); 
    } 
}) 
}; 

답변

0

을 :

JavaScipt 기능은 webseive 호출

$.ajax({ 
    type: "GET", 
    username: "user", 
    password: "password", 
    .... 
} 

하지만 당신은 처리해야 귀하의 웹 서비스에서 귀하 자신의 인증. 또는 var payLoadData를 사용하여 웹 서비스에서 확인한 사용자 정의 인증 데이터를 추가 할 수 있습니다. 다른 사람들이 당신의 인증 패킷

+0

그러나 문제는이 하드 자바 스크립트로 코딩으로 사용자 이름과 암호를 클라이언트로 볼 수 있습니다을 차단하지 않으려면

또한 HTTPS에서 연결을 고려해야합니다. 따라서 누구나 웹 서비스에 액세스 할 수 있습니다. 나는 이것에 대한 적절한 인증을 원한다. –

+0

그래서 클라이언트가 인증 데이터를 보내 클라이언트가이를 찾을 수 있도록 하시겠습니까? –

+0

예 .... 정확히 ... –