Как я могу отправить учетные данные пользователя для использования на удаленной машине с помощью WCF? - PullRequest
2 голосов
/ 11 августа 2009

У меня есть две машины, мы будем называть их машиной A и машиной B. На машине B запущена служба Windows, написанная на C # .net, в качестве учетной записи локальной системы. Компьютер A сообщает службе B (используя WCF) открыть файл, расположенный в сети. Поскольку локальная система не является пользователем сети, она не имеет доступа к сетевым файлам и не может открыть файл. В настоящее время я читаю файлы с компьютера A и сериализую их как строки на компьютер B, а затем записываю их локально на B. Я рассмотрел создание общей сетевой учетной записи для машины B, чтобы она могла иметь доступ к сети, однако нежелательно Можно ли как-нибудь заставить машину B открывать файлы, используя учетную запись пользователя машины A? Я взглянул на классы идентификации субъекта безопасности системы, будет ли это случай их использования?

1 Ответ

3 голосов
/ 11 августа 2009

MSDN - Как: выдать себя за клиента в службе

Олицетворение клиента в Windows Служба Фонда Связи (WCF) позволяет службе выполнять действия от имени клиента. Для действий подлежит списку контроля доступа (ACL) проверки, такие как доступ к каталогам и файлы на компьютере или доступ к База данных SQL Server, проверка ACL против учетной записи пользователя клиента

Также не забудьте настроить службу для использования проверки подлинности Windows и использования поддерживаемой привязки.

...