IT박스

401 Unauthorized : 잘못된 자격 증명으로 인해 액세스가 거부되었습니다.

itboxs 2020. 11. 19. 07:57
반응형

401 Unauthorized : 잘못된 자격 증명으로 인해 액세스가 거부되었습니다.


IIS Express를 사용하여 MVC4 응용 프로그램을 배포하고 있습니다. 이 웹 사이트는 동일한 컴퓨터에서 완벽하게 실행됩니다. 그러나 Lan에서는 오류 401이 발생합니다.

<authentication mode="Forms">
    <forms loginUrl="~/" slidingExpiration="true" timeout="20">
    </forms>
</authentication>

홈 컨트롤러에서

[HttpPost]
[AllowAnonymous]        
public ActionResult Index(LoginModel model, string returnUrl)
{
}

관리자 모드의 명령 프롬프트에서 IIS 서버를 시작하고 있습니다. IIS는 오류로 요청에 응답합니다 401.

단서가 있습니까?


이것이 오래된 게시물이라는 것을 알고 있지만 IIS 8.5에서 동일한 오류가 발생했습니다. 이 방법이 동일한 문제를 겪고있는 다른 사람에게 도움이되기를 바랍니다 (제 문제가 비슷한 제목의 다른 질문에 설명되어 있지 않음).

모든 것이 응용 프로그램 풀 ID로 올바르게 설정된 것처럼 보였지만 계속 오류가 발생했습니다. 많은 파고를 거친 후 익명 사용자가 응용 프로그램 풀 ID 또는 특정 사용자의 자격 증명을 사용하도록 설정이 있습니다. 어떤 이유로 든 내 기본 사용자는 특정 사용자입니다. 설정을 앱 풀 ID로 변경하면 문제가 해결되었습니다.

  1. IIS 관리자 → 사이트 → 웹 사이트
  2. "인증"을 두 번 클릭하십시오.
  3. 익명 인증 선택
  4. 액션 패널에서 편집을 선택합니다.
  5. 응용 프로그램 풀 ID를 선택하고 확인을 클릭합니다.

바라건대 이것은 다른 누군가의 시간을 절약 할 수 있기를 바랍니다!


IIS 7을 사용하는 경우 다음과 같이하십시오.

  1. 사이트를 선택하십시오.
  2. 오류 페이지를 클릭하십시오.
  3. 기능 설정을 편집합니다.
  4. 자세한 오류를 선택하십시오.

즐겨.


다음과 같이 iis에서 익명 인증을 활성화했는지 확인하십시오.

여기에 이미지 설명 입력


누군가 여전히 이것을 찾고 있다면 이것은 우리를 위해 문제를 해결했습니다.

이것이 도움이 될 수있는 사람에게 이것은 내 생명을 구했습니다 ...

IIS 7은 내가 401-Unauthorized : 유효하지 않은 자격 증명으로 인해 액세스가 거부 된 이유를 알아내는 데 어려웠습니다.

  1. IIS를 열고 401을 일으키는 웹 사이트를 선택하십시오.
  2. "IIS"헤더에서 "인증"속성을 엽니 다.
  3. "Windows 인증"항목을 클릭하고 "공급자"를 클릭합니다.
  4. 나에게 문제는 Negotiate가 NTLM 이상이라는 것입니다. 무대 뒤에서 어떤 종류의 악수가 진행되고 있다고 생각하지만 실제로는 인증되지 않았습니다. NTLM을 최상위 위치로 옮겼고 BAM이이를 수정했습니다.

이것이 발견 된 링크 입니다.


나는 그것이 오래된 질문이라는 것을 알고 있지만 이것은 내 검색에서 나왔습니다. 최근에 구축되고 처음으로 배포 된 MVC 응용 프로그램에 대해 유사한 문제가 있었으며 인증 메커니즘이 완전히 해시되지 않았습니다.

제 경우에는 IIS 설정이 아니라 [AllowAnonymous]장식 되지 않은 컨트롤러였습니다 . Layout.cshtml에서 Render.Action / Html.Action을 사용하고 있었는데 사용자가 인증되지 않았습니다. 따라서 레이아웃은 인증되지 않은 컨텍스트에서 인증 된 작업을로드하려고했습니다.

작업을 AllowAnonymous로 업데이트하면 문제가 해결되었으며 이것이 바로이 문제로 이어졌습니다 .

이것이 누군가를 돕기를 바랍니다.


비슷한 문제에 직면했습니다.

폴더가 공유되고 Authenticated Users 권한이 제공되어 문제가 해결되었습니다.


I had a similar issue today. For some reason, my GET request was fine, but PUT request was failing for my WCF WebHttp Service

Adding the following to the Web.config solved the issue

 <system.web>
  <authentication mode="Forms" />
 </system.web>

I faced this error when I created an empty project with the MVC folders and then deployed the application to the server. My issue was that I didn't define the authentication in Web.config, so all I had to do was add this line to a system.web tag.

<system.web>
    <authentication mode="None"/>
</system.web>

i faced the same issue under IIS 8.5. A working solution for me was changing the IIS to display detailled errors. See answer from sna2stha. But i think it is not a good idea to forward detailed error messages to browsers in production enviroments. I added/changed the existingResponse attribute in the httpErrors-Section, so the IIS not handled any extisting Asp.net Response:

 <httpErrors existingResponse="PassThrough" />

This works for me.


In my case,
My application is developed in MVC and my home controller class was decorated with [Authorize] which was causing this issue.
So I've removed it because my application don't require any authentication.

참고URL : https://stackoverflow.com/questions/13279593/401-unauthorized-access-is-denied-due-to-invalid-credentials

반응형