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
'programing' 카테고리의 다른 글
MySQL EXPLE: "인덱스 사용" vs."인덱스 조건 사용" (0) | 2023.08.04 |
---|---|
이미지를 NSUserDefaults에 저장하시겠습니까? (0) | 2023.08.04 |
Oracle FIRST/LAST에서 KEEP에 대한 설명 (0) | 2023.08.04 |
주어진 HTML을 사용하여 동적으로 iframe 만들기 (0) | 2023.08.04 |
asp.net c# http에서 https로 리디렉션 (0) | 2023.08.04 |