title: ASP.NET application cannot access network share even with "Everyone" granted access
body: <p>I have two servers: server A which is a web server running an ASP.NET application on IIS, and server B which is an SSIS server with a network share that contains a configuration file.</p>
  
  <p>I need server A to be able to write to the configuration file on server B.  This seems fairly straight-forward, however I keep getting the error:  "Access to the path \\ServerB\files\config.xml is denied."  What I have done for <strong>testing</strong>, to make this perfectly clear:</p>
  
  <ul>
  <li>I have set "<strong>Everyone</strong>" to have full control of the folder.</li>
  <li>I have set "<strong>Everyone</strong>" to have read/write access on the <strong>share</strong>.</li>
  <li>I have set "<strong>Everyone</strong>" to have full control of the file.</li>
  <li>I have verified that the file is not read-only.</li>
  </ul>
  
  <p>I realize this isn't a good solution, I am just doing this for debugging so please don't comment to tell me not to do this.  </p>
  
  <p>Anyhow, even with these things set, I still get "Access is denied."  I have also explicitly given access to a number of users, including <strong>Network Service</strong>, <strong>IUSR</strong>, <strong>Anonymous Logon</strong>, and <strong>IUSRS</strong> group, and it has not fixed the problem.  </p>
  
  <p>The application pool on Server A is using <strong>ApplictionPoolIdentity</strong>.  I have Googled and Overflowed and found suggestions to give permissions to things like IIS AppPool\{Application Pool} or {MACHINE}\ASPNET, but I cannot access these resources from Server B so I do not understand how this would be possible.</p>
  
  <p>Finally, the perplexing thing is that developers running solutions on their local machines are able to access the file.  So it is something to do with how something is configured with Server A, however I cannot figure out what.</p>
  
  <p>Edit: Truly wacky stuff going on here.  I have figured out how to enable auditing and get the requests logged in the event viewer on Server B.  When the developer runs the process from his local, I can see all the requests logged on Server B.  Eg: "A network share object was checked to see whether client can be granted desired access."  </p>
  
  <p>However! When attempting to connect from server A, <em>nothing</em> gets logged.  Nothing is there at all.  Server A throws an "access to the path is denied" error, but I don't even see the request from Server B. :(</p>