2013-07-17 4 views
0

Я разработал Restful Web-Service, который возвращает объекты jsonp. Я использую эту веб-службу на простой HTML-странице, используя Ajax-вызовы. Средства на стороне клиента есть только HTML-страница, которая обращается к этому веб-сервису. Сервер не используется на стороне клиента. Я просто запускаю этот браузер страниц. Проблема в том, что любой пользователь может получить доступ к этой веб-службе, которую я реализовал. Я хочу сделать его безопасным с помощью какой-либо аутентификации. Я прочитал решение для отправки токена вместе с запросом, но на стороне клиента у меня нет ни одного сервера или чего-то еще, его просто простая HTML-страница. Пожалуйста, помогите мне с некоторым решением для защиты веб-сервиса.Безопасный вызов jsonp ajax

JavaScipt функция для вызова webseive:

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

С помощью AJAX запроса вы можете отправить заголовков проверки подлинности

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

или вставить данные аутентификации с:

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

но вы должны обращаться аутентификацию самостоятельно в вашем веб-сервисе. Или вы можете добавить с var payLoadData некоторые пользовательские данные аутентификации, которые вы проверяете с помощью своего веб-сервиса.

Вы должны также рассмотреть, чтобы сделать соединение по протоколу HTTPS, если вы не хотите, чтобы другие люди, чтобы перехватить ваши пакеты аутентификации

+0

но проблема заключается в имя пользователя и пароль будут видны клиенту, как это закодирована с помощью JavaScript. Таким образом, любой пользователь может получить доступ к веб-сервису. Мне нужна правильная аутентификация. –

+0

, так что вы хотите, чтобы клиент отправлял данные auth с помощью разрешения, чтобы клиент мог их найти? –

+0

Да точно .... –

Смежные вопросы