Это своего рода открытый вопрос.
У меня есть приложение C # .net 4.5, размещенное на IIS и работающее на двух разных машинах. Тип аутентификации для обоих настроен на аутентификацию Windows.
Оба сайта работают нормально.
На веб-сайте пользователь пытается просмотреть некоторые данные, веб-сайт пытается определить, имеет ли он доступ к пути к общей сетевой папке \\fileshareaddress\folder1\folder2
который является частью этих данных. Чтобы проверить, имеет ли пользователь, который вошел в систему, доступ для записи в папку, я просто записываю временный файл с некоторыми временными данными, а затем удаляю его.
Теперь проблема в том, что приложение может записывать в эту папку с одной из машин, но не с другой. Мы проверили разрешения для этой папки. Даже пытался дать доступ на запись к компьютеру, на котором у приложения проблемы, но до сих пор ничего не получалось. Каждый раз, когда приложение пытается записать временный файл, возникает исключение неавторизованного доступа.
Кто-нибудь видел такую проблему раньше? Что еще я могу искать?
ОБНОВЛЕНИЕ: я добавил веб-конфигурацию. Приложение работает под идентификатором NETWORKSERVICE
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<compilation targetFramework="4.5" debug="true" />
<httpRuntime targetFramework="4.5" maxRequestLength="1048576" executionTimeout="999999"/>
<authorization>
<allow roles="domain\Role1,
domain\rol2" />
<deny users="*" />
</authorization>
<customErrors mode="Off" />
<authentication mode="Windows" />
<identity impersonate="true" />
</system.web>
<connectionStrings>
<add name="Dash1Connection" connectionString="Data Source=SQLDBServer; Initial Catalog=Dash1;Integrated Security=True;MultipleActiveResultSets=True;App=EntityFramework;" providerName="AppDatabase"/>
<add name="DashConnection" connectionString="Data Source=SQLDBServer; Initial Catalog=Dash;Integrated Security=True;MultipleActiveResultSets=True;App=EntityFramework;" providerName="AppDatabase"/>
</connectionStrings>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<defaultDocument>
<files>
<remove value="default.aspx"/>
<remove value="iisstart.htm"/>
<remove value="index.html"/>
<remove value="index.htm"/>
<remove value="Default.asp"/>
<remove value="Default.htm"/>
<add value="Home.aspx"/>
</files>
</defaultDocument>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30AD4FE6B2A6AEED" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>