2015-05-31 2 views
-1

У меня есть веб-сервис, написанный на Java, и он имеет 2 почти идентичных клиента, которые получают доступ к своим методам. Единственное отличие состоит в том, что один клиент является клиентом «admin».Как ограничить доступ к веб-сервису одному клиенту?

Тем не менее, существует требование, чтобы клиент-клиент мог в любой момент захотеть, чтобы другой клиент не обращался к веб-службе или был определен, некоторые из ее методов.

Как это осуществить? Я думаю, может быть способ определить, что веб-сервис может быть доступен только конкретному клиенту в коде веб-службы? Есть ли какой-то способ (я прошу использовать общие технологии или концепции, а не прямой код здесь, btw), это можно сделать? Или есть другой способ, которым это нужно сделать?

EDIT: Мои клиенты Java приложения, работающие на Windows,

+2

По кодировке, что вы пробовали? – dnuka

+0

@DhanukaLakshan Я еще ничего не пробовал, и я ничего не мог найти в Google или StackOverflow. Я предполагал, что может быть способ, которым сам веб-сервис может сказать, что он может быть вызван только конкретным клиентом, так что эта функция может быть вызвана с помощью веб-метода. – CDamsinghe

+0

Не ожидайте, что StackOverflow предоставит вам готовый решений. Это не значит, что решение проблемы выполняется (http://mattgemmell.com/what-have-you-tried/). Этот сайт предназначен для помощи в конкретных проблемах с программированием, и ожидается, что вопросы будут демонстрировать некоторые исследовательские усилия. – RealSkeptic

ответ

0

Если вы знакомы с веб-службами, возможно, вы заметили, что для некоторых из них требуется токен доступа.

Ток доступа - непрозрачная строка, которая идентифицирует пользователя, приложение или страницу и может использоваться приложением для вызова API.

Итак, вы можете реализовать его в своем Java-коде, чтобы только уполномоченный клиент мог запросить его.

В вашем случае другим более простым решением было бы использовать какой-то флаг/индикатор, чтобы знать, что запрос был отправлен администратором и, соответственно, соответствующим образом.

0

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