Получается Страница веб-роли .aspx и код веб-роли выполняются в двух отдельных процессах со стандартным режимом «Полный IIS».Проблема для приложения, к которому я подключаюсь, заключается в том, что обработчику .aspx необходим доступ к локальной файловой системе, и, поскольку он теперь работает под учетной записью MachineName\\NETWORK SERVICE
, он не имеет такого доступа.следующий.
Во-первых, я мог бы предоставить доступ к необходимым подпапкам пользователю MachineName\\NETWORK SERVICE
во время запуска.Это будет работать, но выглядит небезопасно - все, что работает под MachineName\\NETWORK SERVICE
, получит такой же доступ, и это может привести к уязвимости.
Во-вторых, я мог бы как-то заставить IIS запустить сайт ролей в выделенном пуле, работающем подвыделенный пользователь и предоставить доступ к этому пользователю.Это звучит хорошо, но я не уверен, что смогу сделать это (в частности, заставить IIS создать выделенный пул, работающий под определенным пользователем) автоматически - либо в файле конфигурации роли, либо в задаче запуска.Я мог бы перенести всю работу с файловой системой на код, который принадлежит роли и работает внутри WaIISHost.exe
.Это потребует некоторой доработки.
Какой из вышеперечисленных вариантов наиболее удобен и наиболее точно соответствует передовому опыту?Какие еще есть варианты?Как мне разрешить ситуацию?