<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 |