Различение запросов от клиентов и других сервисов - PullRequest
3 голосов
/ 04 июля 2011

У нас есть 3-уровневое приложение - толстый клиент на основе winform, несколько служб WCF, размещенных в службах windows и sql. Некоторые службы WCF предоставляют функции, специфичные для пользовательского интерфейса на клиентах, но есть службы, выполняющие загрузку, обработку, кэширование данных и т. Д. Итак, все эти службы общаются друг с другом и также обслуживают запросы от клиентов.

Теперь возникает актуальный вопрос: Есть ли способ понять, поступил ли запрос от клиента или от другой службы. Предполагая, что я пишу инспектор сообщений, могу ли я как-то интерпретировать, поступает ли запрос от клиента (пользователя) или от другой службы.

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

1 Ответ

2 голосов
/ 04 июля 2011

Есть ли способ понять, если запрос от клиента или от другой сервис. Предполагая, что я пишу инспектор сообщений, могу ли я как-нибудь интерпретировать, если запрос приходит через от клиента (пользователя) или от другой сервис.

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

...