这是一个开放式的问题。
我有一个由 IIS 托管的 C# .net 4.5 应用程序,运行在两台不同的机器上。两者的身份验证类型均配置为 Windows 身份验证。
两个网站都运行良好。
在网站上,用户尝试查看一些数据,网站尝试查看它是否有权访问\\fileshareaddress\folder1\folder2
作为该数据一部分的网络共享文件夹路径。为了检查登录的用户是否有权写入该文件夹,我只需写入一个包含一些临时数据的临时文件,然后将其删除。
现在的问题是,应用程序可以从其中一台机器写入此文件夹,但不能从另一台机器写入。我们已经检查了该文件夹的权限。甚至尝试向应用程序遇到问题的计算机授予写访问权限,但到目前为止没有任何效果。每次应用程序尝试写入临时文件时,都会发生未经授权的访问异常。
有人见过这样的问题吗?我还能寻找什么?
更新:我已添加 Web 配置。该应用程序在 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>