Как подключиться к удаленному каталогу без прав олицетворения? - PullRequest
2 голосов
/ 29 декабря 2010

У меня есть сервис .NET, который должен взаимодействовать с файлами на удаленных машинах. В конфигурации пользователь указывает локальные или удаленные (UNC) пути, к которым он должен получить доступ. Пользователь также указывает имя пользователя и пароль для пользователя, который имеет доступ к этим каталогам. Когда служба работает, она подключается к каждому из этих путей и обрабатывает там файлы.

Я пробовал олицетворение, но клиенты опасаются предоставлять эту привилегию службе (обычно запускается как локальная система).

Я также нашел код (http://www.aejw.com/), который сопоставлял удаленные каталоги как сопоставленные диски и обращался к ним таким образом. Однако это приводит к тому, что некоторые версии Windows жалуются на множественные подключения.

Любые предложения будут оценены.

Ответы [ 2 ]

1 голос
/ 29 декабря 2010

У вас есть два варианта:

Либо предоставьте вашей службе доступ к нужным файлам под собственной учетной записью .....

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

Я уверен, что вы также можете понять, почему люди не хотят предоставлять привилегию олицетворения карт-бланш всем службам.

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

Я пытаюсь понять ваше приложение, но если у вас есть только одно имя пользователя и пароль, возможно ли войти в систему как этот пользователь?

0 голосов
/ 08 января 2011

Вы смотрели этот блог?http://blogs.msdn.com/b/joncole/archive/2009/09/21/impersonation-code-in-c.aspx

С помощью этого класса вы сможете выполнять код с блоком using(), который требует олицетворения и когда вы оставляете блок спиной обычному пользователю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...