user1400290
user1400290

Reputation: 1750

Failed to load resource: the server responded with a status of 401 (Unauthorized) /App/AngularJS/angular.min.js

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] enter image description here

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. enter image description here

But still I get the same exception on IIS. But same running fine with VS2013.

Error: enter image description here

Upvotes: 25

Views: 163976

Answers (6)

mrdm
mrdm

Reputation: 129

I had this problem and disabled my VPN and it was solved.

Upvotes: 0

McNiel Viray
McNiel Viray

Reputation: 101

It will work when you add IUSR into the application folder security.

Upvotes: 0

Qasim Bataineh
Qasim Bataineh

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

AceMark
AceMark

Reputation: 729

Also I have set the read/write/modify access for "IUSR" & "IIS_IUSR" users of whole project. properties image

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

user1400290
user1400290

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.

enter image description here

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

Related Questions