programing

web.config의 단일 폴더에 대해 익명 인증을 허용하시겠습니까?

muds 2023. 8. 4. 23:22
반응형

web.config의 단일 폴더에 대해 익명 인증을 허용하시겠습니까?

여기 시나리오가 있습니다. 저는 Asp를 가지고 있습니다.사용자 지정 인증 및 구성원 자격 공급자를 사용하고 있지만 응용프로그램 내의 특정 폴더에 대한 완전한 익명 액세스(예:)를 허용해야 하는 넷 응용프로그램입니다.

IIS 관리자에서 폴더의 인증 모드를 설정할 수 있지만 설정은 다음에 저장됩니다.C:\Windows\System32\inetsrv\config\applicationHost.config여기에 설명된 대로 파일

설치를 쉽게 하기 위해 web.config 내에서 설정할 수 있으면 좋겠지만 몇 번 시도한 후에는 불가능할 수도 있습니다.

다른 사람은 없습니까?

대단히 고맙습니다

가장 먼저 취할 수 있는 방법은 다음을 사용하여 web.config를 수정하는 것입니다.<location>구성 태그 및<allow users="?"/>익명 또는<allow users="*"/>모두를 위한:

<configuration>
   <location path="Path/To/Public/Folder">
      <system.web>
         <authorization>
            <allow users="?"/>
         </authorization>
      </system.web>
   </location>
</configuration>

이 방법이 작동하지 않으면 IIS 응용 프로그램 Host.config를 약간 수정해야 하는 다음 방법을 사용할 수 있습니다.

먼저, 익명을 변경합니다.C:에서 Authentication 섹션의 ModeDefault를 "거부"에서 "허용"으로 재정의합니다.\Windows\System32\inetsrv\config\applicationHost.config:

<section name="anonymousAuthentication" overrideModeDefault="Allow" />

overrideMode는 IIS의 보안 기능입니다.applicationHost.config의 시스템 수준에서 재정의가 허용되지 않으면 web.config에서 이를 사용하도록 설정할 수 있는 작업이 없습니다.대상 시스템에 대해 이 수준의 액세스 권한이 없는 경우 호스팅 공급자 또는 시스템 관리자와 논의해야 합니다.

둘째, 설정 후overrideModeDefault="Allow"그런 다음 web.config에 다음을 넣을 수 있습니다.

<location path="Path/To/Public/Folder">
  <system.webServer>
    <security>
      <authentication>
        <anonymousAuthentication enabled="true" />
      </authentication>
    </security>
  </system.webServer>
</location>

사용하다<location>구성 태그 및<allow users="?"/>익명만 허용하거나,<allow users="*"/>모두를 위한:

<configuration>
   <location path="Path/To/Public/Folder">
      <system.web>
         <authorization>
            <allow users="?"/>
         </authorization>
      </system.web>
   </location>
</configuration>
<location path="ForAll/Demo.aspx">
 <system.web>
  <authorization>
    <allow users="*" />
  </authorization>
 </system.web>
</location>

추가:웹 사이트를 통해 해당 폴더에 무언가를 쓰려면 폴더에 IIS_User 권한을 부여해야 합니다.

이 작업을 수행하기 위해 다음과 같은 디렉토리를 작성합니다.

  • 프로젝트.
    • 일반의
    • 제한

그래서 공용 폴더를 위해 웹 구성을 편집했습니다.

<location path="Project/Public">
    <system.web>
      <authorization>
        <allow users="?"/>
      </authorization>
    </system.web>
  </location>

제한된 폴더의 경우:

 <location path="Project/Restricted">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>

* 및 ?의 사양은 여기를 참조하십시오.

https://learn.microsoft.com/en-us/iis/configuration/system.webserver/security/authorization/add

제가 도움이 되었길 바랍니다.

특정 폴더에 "Users"(VS 2015, C#)라고 말하고 다음 코드를 추가했습니다.

<?xml version="1.0"?>
 <configuration>
  <system.web>
    <authorization>     
    <deny users="?"/>
  </authorization>
</system.web>
</configuration>

처음에는 위치 태그를 사용했지만 작동하지 않았습니다.

언급URL : https://stackoverflow.com/questions/10351075/allow-anonymous-authentication-for-a-single-folder-in-web-config

반응형