2015-02-05 4 views
0

Я разрабатываю приложение для поиска событий. Я использую backbone.js для создания этого приложения. У меня есть некоторые веб-службы, чтобы получить информацию о событиях. Например, у меня есть веб-служба, чтобы получить все события в базе данных, другую веб-службу, чтобы получить информацию о событии с идентификатором и т. Д. Я бы хотел знать, возможно ли защитить мои веб-сервисы, не доступ.Protect rest ful web services

В моем коде у меня есть коллекция, которая есть URL-адрес, соответствующий веб-службы:

ev.models.ImagemCollection = Backbone.Collection.extend({ 

    url: 'http:/.../.../webservices/services/events/', 

    initialize: function(){ 
     console.log("Collection Home Inicializado"); 
    } 

}); 

Если я получить доступ к DevTools в веб-браузере, с некоторого поиска я могу найти URL с веб-службы, но я хотелось бы как-то скрывать эту информацию.

Любая идея?

ответ

0

Маршруты RESTful настроены на вашем сервере, и если вы хотите запретить пользователям доступ к ним, вам необходимо создать фильтр на вашем бэкэнд-маршруте, который выполняется до того, как маршрут будет удален.

Это тот случай, когда вы (например) хотите предоставить доступ только при аутентификации пользователя. Фильтр, который вы применяете на маршруте, является обычным, вы можете определить его, какой бы вы ни хотели; в этом случае фильтр проверяет «аутентифицированный» статус.
Всякий раз, когда пользователь не аутентифицировался, ваш фильтр затем может возвращать сообщение из бэкэнд, говоря что-то вроде, например. «Сначала вам нужно пройти аутентификацию».

+0

ОК, но моя официальная страница получает события из базы данных, и пользователь должен видеть события. Если предоставляется только доступ, когда пользователь аутентифицируется, пользователь не может видеть события на официальной странице. :/ – seal

+0

Хорошо, я вижу. Вы действительно не хотите защищать веб-сервис, вы просто хотите скрыть URL-адрес? Вы не можете «защитить» его как таковое, потому что вы указываете, что на самом деле хотите загрузить события на главной странице, что делает его доступным для всех ... Когда вы делаете запрос RESTful, вкладка навигации вашего браузера показывает URL-адрес, на который делается запрос, поэтому он не является приватным. Единственное, что вы можете сделать, это следить за трафиком. – Trace

+0

Да, в принципе, я хочу, чтобы этот URL не хотел, чтобы он был видимым для других пользователей. Если я создаю промежуточное ПО в php, отправляя запрос в файл php и получая от него ответ. Это может помочь? – seal

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