Web.Config 설정

ASP.NET 2007. 7. 31. 18:37

<authorization> 섹션
이 섹션은 ASP.NET 웹 응용 프로그램의 각 리소스에 대한 권한을 설정하기 위한 섹션입니다. 이 섹션은 시스템, 웹 응용 프로그램은 물론 하위 폴더나 특정 페이지에 대해서도 적용될 수 있습니다.

<authorization>섹션의 형식은 다음과 같습니다.

<authorization>
<allow
users=”사용자 목록”
roles=”사용자의 역할 목록”
verbs=”HTTP 전송 메서드 목록”>
</allow>
<deny
users=”사용자 목록”
roles=”사용자의 역할 목록”
verbs=”HTTP 전송 메서드 목록”>
</deny>
</authorization>

보시는 바와 같이 <allow>섹션에 리소스에 대한 접근을 허용할 사용자의 목록을, <deny>섹션에 접근을 거부할 사용자 목록을 지정할 수 있습니다.

<allow>, <deny> 하위 섹션
<allow>섹션 및 <deny>섹션에 사용될 수 있는 특성은 다음과 같습니다.

특성

설명

users

리소스에 대한 액세스를 허용하거나 거부하기 위한 사용자 목록으로 쉼표로 구분됩니다. 물음표(?) 익명 사용자의 액세스를 허용하거나 거부하며, 애스터리스크(*) 모든 사용자의 액세스를 허용하거나 거부합니다.

roles

리소스에 대해 액세스를 허용하거나 거부할 역할의 목록이며 역시 쉼표로 구분됩니다.

verbs

리소스에 대해 액세를 허용하거나 거부할 HTTP 전송 메서드의 목록입니다. 역시 쉼표로 구분되며 POST, GET, HEAD, DEBUG 등을 사용할 있습니다.

다음 섹션 구성은 모든 사용자에 대해 액세스를 거부합니다.

<configuration>
<system.web>
<authorization>
<deny user=”*”></deny>
</authorization>
</system.web>
</configuration>

<browserCaps> 섹션
이 섹션은 브라우저의 기능 설정을 제어하기 위한 섹션입니다. 이 섹션은 시스템과 웹 응용 프로그램 및 하위 폴더에 적용할 수 있으며 형식은 다음과 같습니다.

<browserCaps>
<result type=”class”></result>
<use var=”HTTP_USER_AGENT”></use>
브라우저 기능 정보 목록
<filter>
<case match=”검색 문자열”>
문자열이 일치할 때 사용할 브라우저 기능 정보
</case>
</filter>
</browserCaps>

<result> 하위 섹션은 현재 브라우저의 설정 정보를 저장하는데 사용할 클래스 이름을 지정하는 섹션입니다. 이 섹션에서 사용할 수 있는 특성은 다음과 같습니다.

특성

설명

type

섹션의 구문을 분석하고 브라우저의 기능을 설명하는 설정 정보를 저장할 클래스를 지정합니다.

예를 들어 이 type속성에는 System.Web.HttpBroserCapabilities 클래스를 지정하여 해당 클래스를 런타임에 참조함으로써 브라우저 설정 정보에 액세스할 수 있습니다.

<use> 하위 섹션
<use> 하위 섹션은 브라우저 기능 정보를 분석하는데 사용되는 HTTP 요청 문자열을 지정하는 섹션으로 사용할 수 있는 특성은 다음과 같습니다.

특성

설명

var

브라우저 기능 정보를 저장하고 있는 서버 변수 이름을 지정합니다. 기본 값은 IIS 브라우저 기능 정보 변수인 HTTP_USER_AGENT입니다.

as

지정된 정규식과 일치하는 서버 변수를 참조하는 변수 이름입니다.

<filter> 하위 섹션
<filter> 하위 섹션은 브라우저 기능 정보를 검사하기 위한 규칙들을 지정하기 위한 섹션입니다. 사용할 수 있는 특성은 다음과 같습니다.

특성

설명

match

with 특성에 지정된 정규식으로 테스트한 결과입니다.

with

검색할 정규식 또는 문자열입니다.

<filter> 섹션은 <case>라는 하위 섹션을 가지는데 이 섹션은 지정된 검색 조건 중 처음 일치하는 항목을 찾으면 검색을 중단하도록 합니다. <case>섹션은 <filter>섹션과 동일한 특성을 갖습니다.

다음 섹션 구성은 기본적인 브라우저 기능을 지정하고 접속한 사용자의 운영체제 종류를 검사한 후 해당 정보를 HttpBrowserCapabilities 클래스에 저장합니다.

<configuration>
<system.web>
<browserCaps>
<result type=”System.Web.HttpBrowserCapabilities, System.Web,
Version=1.3.3102.0, Culture=neutral, PUblicKeyToke=b03f5f7f11d50a3a”>
</result>
<use var=”HTTP_USER_AGENT”></use>
browser=Unknown
version=0.0
platform=Unknown
<filter>
<case match=”Windows 98 | Win98”>
platform=Win98
</case>
<case match=”Windows NT | WinNT”>
platform=Winnt
</case>
</filter>
<browserCaps>
</system.web>
</configuration>

<clientTarget> 섹션
이 섹션은 브라우저 정보를 저장하는 사용자 에이전트 내부의 컬렉션에 대해 사용자 정의 별칭을 추가하거나 제거하는 섹션으로 형식은 다음과 같습니다.

<clientTarget>
<add alias=”추가할 별칭” userAgent=”별칭을 추가할 사용자 에이전트”></add>
<remove alias=”삭제할 별칭”></remove>
<clear></clear>
</clientTarget>

이 섹션은 총 3개의 하위 섹션을 가지며 그 중 첫 번째인 <add>섹션은 새로운 사용자 에이전트 별칭을 기존의 사용자 에이전트 컬렉션에 추가합니다.

<add> 하위 섹션
<add>섹션에서 사용할 수 있는 특성은 다음과 같습니다.

특성

alias

특정 사용자 에이전트 항목을 나타내는 별칭입니다.

userAgent

alias 특성에 지정된 별칭으로 참조할 사용자 에이전트 항목입니다.

<remove> 하위 섹션
<remove>섹션은 특정 사용자 에이전트 항목을 의미하는 별칭을 제거하는 섹션으로 다음과 같은 특성을 사용합니다.

특성

alias

삭제할 사용자 에이전트 항목에 대한 별칭입니다.

<clear> 하위 섹션
<clear> 섹션은 현재 Web.config 파일에 포함되어 있는 모든 별칭을 제거합니다.

다음 섹션 구성은 사용자 에이전트의 platform 항목에 대해 OS라는 이름의 별칭을 지정합니다.

<configuration>
<system.web>
<clientTarget>
<add alias=”OS” userAgent=”platform”></add>
</clientTarget>
</system.web>
</configuration>

<compilation> 섹션
이 섹션은 ASP.NET 웹 응용 프로그램이 사용하는 모든 컴파일 설정을 구성하는 섹션으로 형식은 다음과 같습니다.

<compliation
debug=”true | false”
batch=”true | false”
batchTimeout=”second”
defaultLanguage=”language”
explicit=”true | false”
maxBatchFileSize=”페이지 개수”
maxBatchGeneratedFileSizze=”파일 크기”
numRecompilesBeforeAppRestart=”재 컴파일 횟수”
strict=”true | false”
tempDirectory=” ASP.NET 임시 디렉터리 경로”>
<compilers>
<compiler
language=”language”
extension=”확장자”
type=”.NET 형 이름”
warningLevel=”경고 수준”
compilerOptions=”옵션”>
</compiler>
</compilers>
<assemblies>
<add assembly=”어셈블리”></add>
<remove assembly=”어셈블리”></remove>
<clear></clear>
</assemblies>
</compilation>

다양한 옵션들을 설정할 수 있는 만큼 섹션의 구성 또한 매우 복잡해 보이는군요. 한가지 씩 차근차근 살펴보도록 하겠습니다.

먼저 <compliation> 섹션에서 사용할 수 있는 특성은 다음과 같습니다.

특성

설명

debug

true

ASP.NET 페이지를 디버그 모드로 컴파일 합니다.

false

기본 값이며 ASP.NET 페이지를 릴리즈 모드로 컴파일 합니다.

defaultLanguage

ASP.NET 페이지에서 사용할 기본 .NET 언어를 지정합니다. 기본값은 VB입니다.

explicit

true

기본 값이며 VB.NET에서 모든 변수를 선언 후에 사용해야 합니다.

false

VB.NET에서 변수를 선언하지 않고 사용할 있습니다.

batch

true

일괄 처리를 지원합니다.

false

일괄 처리가 지원되지 않습니다.

batchTimeout

일괄 처리 컴파일의 시간 초과 단위를 지정합니다. 일괄 처리가 완료되지 못하면 단일 컴파일 모드로 자동 전환됩니다.

maxBatchFileSize

일괄 처리 컴파일 최대 페이지 수를 지정합니다.

maxBatchGeneratedFileSize

일괄 처리된 컴파일 생성된 최대 소스 파일의 크기를 KB단위로 지정합니다.

numRecompilesBeforeAppRestart

응용 프로그램이 다시 시작하기 전에 발생할 있는 동적 재컴파일 횟수를 지정합니다.

strict

true

VB.NET strict 컴파일 옵션을 설정합니다.

false

VB.NET strict 컴파일 옵션을 해제합니다.

tempDirectory

컴파일 하는 동안 임시 파일을 저장할 디렉터리를 지정합니다.

<compilation>섹션은 <compilers>섹션과 <assemblies>섹션을 하위 섹션으로 가질 수 있습니다. 이 중 <compilers>섹션은 ASP.NET 웹 응용 프로그램이 지원하는 컴파일러를 지정하는 섹션이며 <assemblies>섹션은 ASP.NET 웹 응용 프로그램을 컴파일하는 동안 함께 사용할 어셈블리를 지정하는 섹션입니다.

<compilers> 하위 섹션
먼저 <compilers>섹션은 ASP.NET 웹 응용 프로그램을 컴파일할 컴파일러를 지정하는 섹션입니다. 이 섹션은 <compiler> 하위 섹션을 이용하여 사용할 컴파일러를 지정하게 됩니다.

<compiler> 하위 섹션
<compiler> 섹션은 다음과 같은 특성을 이용하여 컴파일러를 지정할 수 있습니다.

특성

language

동적 컴파일 파일에 사용될 언어의 목록을 지정하며 세미콜론으로 구분됩니다.

extension

동적 코드 비하인드 파일에 사용될 파일의 확장자 목록으로 역시 세미콜론으로 구분됩니다.

type

지정된 언어나 확장자를 사용하는 모든 파일을 컴파일하는데 사용되는 .NET 프레임워크 클래스의 목록이며 쉼표로 구분되는 클래스와 어셈블리의 조합을 사용합니다.

warningLevel

생략 가능한 특성으로 컴파일러의 경고 수준을 설정합니다.

compilerOptions

생략 가능한 특성으로 컴파일하는 동안 참조할 추가 옵션을 설정합니다.

다음 섹션 구성은 C# 언어를 이용하여 동적 파일들을 컴파일하도록 설정합니다.

<configuration>
<system.web>
<compilation debug=”false”>
<compilers>
<compiler language=”C#”
extension=”.cs”
type=”Microsoft.CSharp.CSharpCodeProvider
,system,version=1.0.5000.0,
PublicKeyToken=b77a5c561934e089”>
</compiler>
</compilers>
</compilation>
</system.web>
</configuration>

<assemblies> 하위 섹션
이 섹션은 동적 파일을 컴파일하는 동안 참조할 어셈블리를 지정하거나 제거하는 섹션으로 <add>, <remove>, <clear>등 세 개의 하위 섹션을 갖습니다. <clear> 섹션은 단지 섹션을 추가하는 것만으로 모든 어셈블리에 대한 참조를 제거할 수 있는 섹션으로 별도의 특성이 사용되지 않으므로 설명은 생략하도록 하겠습니다.

비단 <assemblies> 섹션 뿐 아니라 앞으로 등장하는 모든 섹션에서 사용되는 <clear>하위 섹션은 같은 방식으로 사용되므로 <clear>섹션이 사용되는 섹션만 소개하도록 하겠습니다.

<add> 하위 섹션
이 섹션은 동적 파일을 컴파일할 때 참조할 어셈블리를 추가하는 섹션으로 다음과 같은 특성을 사용합니다.

특성

assembly

컴파일 참조할 어셈블리의 이름입니다. 경로가 아닌 단순한 어셈블리 이름임에 유의하시기 바랍니다. 와일드 카드인 애스터리스크 문자(*) 이용하여 어셈블리 캐시에 존재하는 모든 어셈블리를 참조할 수도 있습니다.

<remove> 하위 섹션
이 섹션은 동적 파일을 컴파일할 때 참조할 어셈블리에서 특정 어셈블리를 제거하는 섹션으로 다음과 같은 특성을 사용합니다.

특성

assembly

컴파일 참조를 제거할 어셈블리의 이름입니다. 와일드 카드는 사용할 없습니다.

다음 섹션 구성은 컴파일하는 동안 System.Data 어셈블리를 참조하도록 합니다.

<configuration>
<system.web>
<compilation debug=”false”>
<assemblies>
<add assembly=”System.Data”
version=1.0.2411.0
Culture=neutral,
PublicKeyToke=b77a5c51934e089”>
</add>
</compilers>
</compilation>
</system.web>
</configuration>

http://blog.naver.com/londhunter?Redirect=Log&logNo=120037436611

'ASP.NET' 카테고리의 다른 글

Using JavaScript Along with ASP.NET  (0) 2007.08.28
VS 2008/.Net Framework 3.5 Beta2 출시  (0) 2007.08.25
참으로 쓸만한 HttpWorkerRequest Class  (0) 2007.07.31
ASP.NET 2.0에서 달라진 기능  (0) 2007.07.07
Enterprise Library  (0) 2007.05.31
Posted by 퓨전마법사
,