2015-12-10 4 views
-1

У меня есть веб-служба, которая загружает вложения на конкретном физическом сервере, на котором пользователь имеет доступ. Например: - если пользователь1 заходит в систему, он будет загружать документы в папку C: \ Folders \ user1 (myattachements). Если пользователь2 войдет в систему, он загрузит документы в папку C: \ Folders \ user2 (myattachements). Пользователь1 не будет иметь доступа к пути user2. Поскольку мой веб-сервис работает под ApplicationPoolIdentity, мне нужно выдавать себя за пользователя, зарегистрированного в Windows. Возможно ли запустить веб-сервис под учетной записью пользователя Windows без предоставления его пароля. Пожалуйста, помогите с этим .. Спасибо заранее!Олицетворять как зарегистрированный пользователь Windows без предоставления пароля C#

+0

Проверка подлинности Windows? Олицетворение включено? Все пользователи могут писать в C: \ Folders? –

ответ

0

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

+0

Привет Матти - Спасибо за ваш ответ. Это ограничение, что у меня нет доступа к IIS, где размещается веб-служба. Поэтому при загрузке документов мне нужно олицетворять себя как зарегистрированный пользователь Windows. Пожалуйста, предложите, если у вас есть альтернативный вариант для этого. – user1673034

0

Веб-сервис работает под пулом приложений, поскольку он размещен в IIS, и этот пул приложений работает под определенным идентификатором. Идентификатор пользователя может быть пользователем администратора и иметь доступ к ресурсам сервера на основе привилегий. Пользователь1 или Пользователь2 являются потребителями этой веб-службы. Доступ и привилегия зависят от ApplicationPoolIdentity, а не от User1 или User2.

+0

Hi Sudipta - Извините, мое понимание может быть неправильным. Не могли бы вы рассказать мне, могу ли я выдавать себя за пользователя, зарегистрированного в Windows, не спрашивая его пароль ... – user1673034

+0

Нет, вы не может - это сервис и размещен в IIS, поэтому доступ к серверному ресурсу зависит от ApplicationPoolIdentity. Пользователь1 или Пользователь2 являются только потребителем и не могут напрямую обращаться к чему-либо на сервере. –

+0

Я думаю, что у вас должен быть другой подход, создайте путь к папке с идентификатором пользователя (если он доступен) при загрузке файла, а ApplicationPoolIdentity - это виды суперпользователя, которые могут получить доступ ко всем папкам. Пользовательский доступ к привилегии, который нужно проверить при загрузке файла. –