Reputation: 1750
I am having the following error:
Failed to load resource: the server responded with a status of 401 (Unauthorized) http://localhost/App/AngularJS/angular.min.js
The project works fine on localhost. But when I run it on IIS (7.5) I get the above exception.
[Image]
My project is .net 4.5 project (Web.API 2.2), I am using AngularJS for UI in this project.
I have tried running "aspnet_regiis - i" as somewhere this was accepted as solution. But it didn't work in my case. I don't know is there any thing required to execute [AngularJS].js files on IIS for Web.API project?
EDIT:
I have made following changes to web.config file:
<location path="AngularJS">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<system.web>
<authorization>
<allow users="*" />
</authorization>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
Also I have set the read/write/modify access for "IUSR" & "IIS_ISURS" users of whole project.
But still I get the same exception on IIS. But same running fine with VS2013.
Error:
Upvotes: 25
Views: 163976
Reputation: 101
It will work when you add IUSR into the application folder security.
Upvotes: 0
Reputation: 707
When servers respond with access denied message (401 Unauthorized access), it means that the anonymous IIS user account is unable to access the resources because of permission issues.
By default, IUSR account is used for anonymous user.
All you need to do is:
IIS ->
Authentication -->
Set Anonymous Authentication to Application Pool Identity.
Problem solved :)
Upvotes: 35
Reputation: 729
Also I have set the read/write/modify access for "IUSR" & "IIS_IUSR" users of whole project.
this was enough for me to get around the same issue.
PS. sorry for using your image, just want to emphasize the step you mentioned that worked for me.
Upvotes: 7
Reputation: 1750
Well,
It's strange but It worked. The solution was to set the default user for "Connect as" in IIS. See the image given below.
I specified the administrator user & this started to work in IIS. I think this is some kind of requirement with AngularJS to work on IIS.
Thanks for replies.
Upvotes: 1
Reputation: 17614
Assuming that you are using form authentication and you are trying to get it before login. You can use the following in your web.config file inside <configuration>
.
<location path="AngularJS">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
It will make you files inside AngularJS
folder available without login
Upvotes: 1