Как дать разрешение процессу IIS на чтение сетевого расположения? - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь прочитать размер файла резервной копии на сетевом сервере с веб-страницы, чтобы определить, достаточно ли места для хранения резервных копий на несколько дней.

Следующий код работает на локальном компьютере.каталог:

var directoryInfo = new DirectoryInfo( @"c:\AppFolder\" );
var file = directoryInfo.GetFiles()
    .OrderByDescending( f => f.LastWriteTime )
    .First()
    ;
var length = file.Length;

Но когда я пытаюсь получить доступ к сетевой папке (например, \\ server1.domain1 \ share \), я получаю System.UnauthorizedAccessException: "Доступ к пути" \\ server1.domain1\ share \ 'denied. "

При входе на веб-сервер (Windows Server 2012 R2) моя учетная запись может получать доступ к сетевому ресурсу.Я довольно новичок в IIS 8.5.Веб-сайт был перенесен из IIS 6 на сервер Windows 2003 R2.Я попытался изменить удостоверение пула приложений для каждого из 4 вариантов или даже установить его для своей учетной записи, но я все еще получаю сообщение об отказе в доступе.Я использовал Process Monitor, чтобы увидеть, какая учетная запись обращалась к сети.Кажется, чтобы показать, что правильная личность пытается получить доступ к местоположению в сети.Но даже для записи, настроенной для моей учетной записи, она выдает сообщение «Отказано в доступе».

Я пытался дать разрешения для удостоверения пула приложений, как описано здесь: Обзор разрешений IIS7 - ApplicationPoolIdentity ,но компьютер с Windows Server 2003 не распознает IIS AppPool \ website как действительную учетную запись.

Наконец, я попытался предоставить всем пользователям полный доступ к папке и общему ресурсу.Даже это не работает ...

Обновлена ​​диагностическая информация :
Результаты net share share

Share name              share
Path                    c:\share
Remark                  
Maximum users           No limit
Users                   USER1
Caching                 Manual caching of documents
Permission              DOMAIN1\User1, READ

Результаты icacls c:\share:

c:\share NT AUTHORITY\NETWORK SERVICE:(OI)(CI)(F)
         BUILTIN\Administrators:(I)(OI)(CI)(F)
         DOMAIN1\User2:(I)(F)
         CREATOR OWNER:(I)(OI)(CI)(IO)(F)
         DOMAIN1\User3:(I)(OI)(CI)(M)
         DOMAIN1\User1:(I)(OI)(CI)(RX)
         NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
         BUILTIN\Users:(I)(OI)(CI)(RX)
         BUILTIN\Users:(I)(CI)(S,AD)
         BUILTIN\Users:(I)(CI)(S,WD)

Successfully processed 1 files; Failed processing 0 files  

Монитор процесса:

Operation: CreateFile
Path: \\\\server1.domain1\\share1
Result: ACCESS DENIED
Detail: Desired Access:  Read Data/List Directory, Synchronize,  
    Disposition: Open, Options: Directory, Synchronous IO Non-alert,  
    Open For Backup, Attributes: n/a, ShareMode: Read, Write, Delete,  
    AllocationSize: n/a, Impersonating:  DOMAIN1\\User1
User: DOMAIN1\\User1

1 Ответ

0 голосов
/ 13 февраля 2019

Вы пытались установить для своей учетной записи как удостоверение пула приложений, так и анонимную аутентификацию сайта?

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