Getting http 401.3 error despite giving the Application pool Identity permission on the website folder IIS 7.5

asp.netiis-7.5windows-authentication

My Application users are getting http 401. error when they try to browser to my application.

My app is a intranet Web Application which uses Windows Authentication. Anonymous authentication and Identity impersonation are disabled. A separate application pool is created and assigned to the website. IIS ApplicationPool\myApplnAppPool is given read & execute permission on the application root folder.

I verified the worker process (w3wp.exe) and it is running under the Application pool identity in the task manager on the server.

When I give Everyone (Everyone Domain group) Access on my websites folder they are able to access the application. However I believe that is not the right practice of giving EveryOne group access on the folder level.

Also e my app creates & updates a application log file (under the application root folder).

Any help on this will be highly appreciated. Thx.

Best Answer

It depends on what you are using the application for and how its authentication works. If the application requires the user's credentials to actually do anything, giving everyone (that being everyone in your domain, excluding guests) access may not be a bad idea at all.

If you do want to restrict access to specific people, the best practice is to create a group and give them the required access (probably read/execute). You could also ensure the group is denied access to configuration files, for instance, and create a "support" group for that application as well that has more access.

In the end, whatever credentials are being used (anonymous auth really just impersonates some specific account you provide for that purpose) need to have read and possibly execute and traverse permissions in the filesystem to access the website.

From your comment above, if you do need to know which specific domain users are accessing it, definitely keep anonymous auth disabled, but if you don't need to limit access to a subset of domain users, there is no harm in granting access to the domain everyone.