IIS Express gives Access Denied error when debugging ASP.NET MVC
I have created an ASP.NET MVC 3 project, and am using IIS Express as the web server when developing. When I try to debug, I get the error message below.
How can this be solved?
Server Error in '/' Application.
Access is denied. Description: An error occurred while accessing the resources required to serve this request. The server may not be configured for access to the requested URL.
Error message 401.2.: Unauthorized: Logon failed due to server configuration. Verify that you have permission to view this directory or page based on the credentials you supplied and the authentication methods enabled on the Web server. Contact the Web server's administrator for additional assistance.
If you are using Visual Studio, you can also left-click on the project in Solution Explorer and change the Windows Authentication property to Enabled in the Properties window.
The cause if had for this problem was IIS Express not allowing WindowsAuthentication. This can be enabled by setting
<windowsAuthentication enabled="true">
in the applicationhost.config file located at C:\Users[username]\Documents\IISExpress\config.
I used Jason's answer but wanted to clarify how to get in to properties.
- Select project in Solution Explorer
- F4 to get to properties (different than the right click properties)
- Change Windows Authentication to Enabled
Hosting on IIS Express: 1. Click on your project in the Solution Explorer to select the project. 2. If the Properties pane is not open, open it (F4). 3. In the Properties pane for your project: a) Set "Anonymous Authentication" to "Disabled". b) Set "Windows Authentication" to "Enabled".
In my case I had to open the file:
C:\...\Documents\IISExpress\config\applicationhost.config
I had this inside the file:
<authentication>
<anonymousAuthentication enabled="true" User="" />
I just removed the User=""
part. I really don't know how this thing got there... :)
Note: Make sure you have something like this in the end of applicationhost.config
:
.
.
.
<location path="MyCompany.MyProjectName.Web">
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="true" />
<windowsAuthentication enabled="false" />
</authentication>
</security>
</system.webServer>
</location>
</configuration>
You may also want to take a look here: https://stackoverflow.com/a/10041779/114029
Now I can access the login page as expected.