WebDAV 잠금 <잠금>
개요
<locks>
요소의 <authoring>
요소는 WebDAV 모듈에 대한 잠금 동작을 정의합니다. 더 구체적으로 말하자면, <locks>
요소에는 WebDAV 잠금을 사용할지 여부, 사용할 잠금 저장소, 클라이언트가 서버의 파일에 대한 변경 내용을 저장하기 전에 잠금이 필요한지 여부를 정의하는 특성이 포함되어 있습니다.
호환성
버전 | 참고 |
---|---|
IIS 10.0 | <locks> 요소가 IIS 10.0에서 수정되지 않았습니다. |
IIS 8.5 | <locks> 요소가 IIS 8.5에서 수정되지 않았습니다. |
IIS 8.0 | <locks> 요소가 IIS 8.0에서 수정되지 않았습니다. |
IIS 7.5 | <locks> 요소의 <authoring> 요소는 IIS 7.5의 기능으로 제공됩니다. |
IIS 7.0 | <locks> 요소의 <authoring> 요소는 IIS 7.0에 대한 별도의 다운로드인 WebDAV 7.0에서 도입되었습니다. |
IIS 6.0 | 해당 없음 |
참고
WebDAV 7.0 및 WebDAV 7.5 모듈은 IIS 7.0용 대역 외로 제공되었으며, 다음 URL에서 모듈을 다운로드하고 설치해야 했습니다.
Windows 7 및 Windows Server 2008 R2에서는 WebDAV 7.5 모듈이 IIS 7.5의 기능으로 제공됩니다. 따라서 WebDAV를 더 이상 다운로드할 필요가 없습니다.
설치 프로그램
웹 서버에 대한 WebDAV 게시를 지원하려면 WebDAV 모듈을 설치해야 합니다. 이렇게 하려면 다음 단계를 수행합니다.
Windows Server 2012 또는 Windows Server 2012 R2
- 작업 표시줄에서 서버 관리자를 클릭합니다.
- 서버 관리자관리 메뉴를 클릭한 다음 역할 및 기능 추가를 클릭합니다.
- 역할 및 기능 추가 마법사에서 다음을 클릭합니다. 설치 유형을 선택하고 다음을 클릭합니다. 대상 서버를 선택하고 다음을 클릭합니다.
- 서버 역할 페이지에서 웹 서버(IIS)를 확장하고, 웹 서버를 확장하고, 일반적인 HTTP 기능을 확장한 다음, WebDAV 게시를 선택합니다. 다음을 클릭합니다.
- 기능 선택 페이지에서 다음을 클릭합니다.
- 설치 선택 확인 페이지에서 설치를 클릭합니다.
- Results(결과) 페이지에서 Close(닫기)를 클릭합니다.
Windows 8 또는 Windows 8.1
- 시작 화면에서 포인터를 왼쪽 아래 모서리로 이동하고 시작 단추를 마우스 오른쪽 단추로 클릭한 다음 제어판 클릭합니다.
- 제어판프로그램 및 기능을 클릭한 다음 Windows 기능 켜기 또는 끄기를 클릭합니다.
- 인터넷 정보 서비스를 확장하고 World Wide Web Services를 확장하고 일반적인 HTTP 기능을 확장한 다음 WebDAV 게시를 선택합니다.
- 확인을 클릭합니다.
- 닫기를 클릭합니다.
Windows Server 2008 R2
- 작업 표시줄에서 시작을 클릭하고 관리 도구를 가리킨 다음 서버 관리자 클릭합니다.
- 서버 관리자 계층 창에서 역할을 확장한 다음 웹 서버(IIS)를 클릭합니다.
- 웹 서버(IIS) 창에서 역할 서비스 섹션으로 스크롤한 다음 역할 서비스 추가를 클릭합니다.
- 역할 서비스 추가 마법사의 역할 서비스 선택 페이지에서 일반적인 HTTP 기능을 확장하고 WebDAV 게시를 선택한 후 다음을 클릭합니다.
- 설치 선택 확인 페이지에서 설치를 클릭합니다.
- Results(결과) 페이지에서 Close(닫기)를 클릭합니다.
Windows 7
- 작업 표시줄에서 시작을 클릭한 다음 제어판 클릭합니다.
- 제어판프로그램 및 기능을 클릭한 다음 Windows 기능 켜기 또는 끄기를 클릭합니다.
- 인터넷 정보 서비스, World Wide Web Services, 일반 HTTP 기능을 차례로 확장합니다.
- WebDAV 게시를 선택한 다음 확인을 클릭합니다.
Windows Server 2008 또는 Windows Vista
다음 URL에서 설치 패키지를 다운로드합니다.
다음 연습의 지침에 따라 WebDAV 모듈을 설치합니다.
방법
웹 사이트에 대한 WebDAV 잠금을 구성하는 방법
IIS(인터넷 정보 서비스) 관리자를 엽니다.
Windows Server 2012 또는 Windows Server 2012 R2를 사용하는 경우:
- 작업 표시줄에서 서버 관리자 클릭하고 도구를 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 클릭합니다.
Windows 8 또는 Windows 8.1 사용하는 경우:
- Windows 키를 누른 채로 문자 X를 누른 다음 제어판 클릭합니다.
- 관리 도구를 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 두 번 클릭합니다.
Windows Server 2008 또는 Windows Server 2008 R2를 사용하는 경우:
- 작업 표시줄에서 시작을 클릭하고 관리 도구를 가리킨 다음 IIS(인터넷 정보 서비스) 관리자를 클릭합니다.
Windows Vista 또는 Windows 7을 사용하는 경우:
- 작업 표시줄에서 시작을 클릭한 다음 제어판 클릭합니다.
- 관리 도구를 두 번 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 두 번 클릭합니다.
연결 창에서 서버 이름을 확장하고 사이트 노드를 확장한 다음 사이트 이름을 클릭합니다.
사이트의 홈 창에서 WebDAV 작성 규칙을 두 번 클릭합니다.
WebDAV 작성 규칙 페이지가 표시되면 작업 창에서 WebDAV 설정을 클릭합니다.
WebDAV 설정 페이지가 표시되면 잠금 동작 섹션에서 다음 옵션을 지정합니다.
- 잠금 허용을 True로 설정합니다.
- 잠금 저장소의 경우 드롭다운 목록에서 webdav_simple_lock 선택합니다.
- 원하는 설정 에 쓰기를 위한 잠금 필요 를 설정합니다.
단계를 완료한 후 작업 창에서 적용을 클릭합니다.
구성
요소는 <locks>
ApplicationHost.config 파일의 사이트 수준에서만 구성할 수 있습니다. 다른 수준 또는 Web.config 파일의 모든 <locks>
요소는 무시됩니다.
특성
attribute | Description |
---|---|
enabled |
선택적 부울 특성입니다. WebDAV 잠금을 사용하도록 설정하면 true이고, 그렇지 않으면 false입니다. 기본값은 false 입니다. |
lockStore |
선택적 문자열 특성입니다. WebDAV 잠금에 사용할 공급자의 이름을 지정합니다. 이 이름은 lockStores> 컬렉션에< 정의되어야 합니다. 이 특성에는 기본값이 없습니다. |
requireLockForWriting |
선택적 부울 특성입니다. WebDAV 작성에 잠금이 필요한 경우 true이고, 그렇지 않으면 false입니다. WebDAV 작성에 잠금을 요구하면 다중 원본 제작 환경에서 충돌을 방지하는 데 도움이 됩니다. 기본값은 false 입니다. |
자식 요소
없음
구성 샘플
다음 예제에서는 기본 웹 사이트의 샘플 <webdav>
요소를 나열합니다. 다음은 기존 작성 규칙을 지우고, 관리자 그룹에 대한 단일 규칙을 추가하고, WebDAV 작성을 사용하도록 설정하고, 숨겨진 파일이 허용되도록 지정하고, WebDAV 잠금을 사용하도록 설정하고, 잠금 공급자를 지정하며, WebDAV 속성을 사용하도록 설정하고 속성 매핑에 대한 기본 XML 네임스페이스를 지정하는 예제입니다.
<location path="Default Web Site">
<system.webServer>
<webdav>
<authoringRules defaultAccess="none" allowNonMimeMapFiles="true" defaultMimeType="text/plain">
<clear />
<add roles="administrators" path="*" access="Read, Write, Source" />
</authoringRules>
<authoring enabled="true" requireSsl="false">
<fileSystem allowHiddenFiles="true" />
<locks enabled="true" lockStore="webdav_simple_lock" requireLockForWriting="false" />
<properties allowAnonymousPropfind="false" allowInfinitePropfindDepth="false" allowCustomProperties="true">
<clear />
<add xmlNamespace="*" propertyStore="webdav_simple_prop" />
</properties>
</authoring>
</webdav>
</system.webServer>
</location>
샘플 코드
다음 예제에서는 간단한 잠금 공급자를 사용하여 기본 웹 사이트에 WebDAV 잠금을 사용하도록 설정하고 WebDAV 작성에 잠금이 필요하지 않도록 사이트를 구성합니다.
AppCmd.exe
appcmd.exe set config "Default Web Site" -section:system.webServer/webdav/authoring /locks.enabled:"True" /locks.lockStore:"webdav_simple_lock" /locks.requireLockForWriting:"False" /commit:apphost
참고
AppCmd.exe 사용하여 이러한 설정을 구성할 때 커밋 매개 변수 apphost
를 로 설정해야 합니다. 그러면 구성 설정이 ApplicationHost.config 파일의 적절한 위치 섹션에 커밋됩니다.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection authoringSection = config.GetSection("system.webServer/webdav/authoring", "Default Web Site");
ConfigurationElement locksElement = authoringSection.GetChildElement("locks");
locksElement["enabled"] = true;
locksElement["lockStore"] = @"webdav_simple_lock";
locksElement["requireLockForWriting"] = false;
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim authoringSection As ConfigurationSection = config.GetSection("system.webServer/webdav/authoring", "Default Web Site")
Dim locksElement As ConfigurationElement = authoringSection.GetChildElement("locks")
locksElement("enabled") = True
locksElement("lockStore") = "webdav_simple_lock"
locksElement("requireLockForWriting") = False
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var authoringSection = adminManager.GetAdminSection("system.webServer/webdav/authoring", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var locksElement = authoringSection.ChildElements.Item("locks");
locksElement.Properties.Item("enabled").Value = true;
locksElement.Properties.Item("lockStore").Value = "webdav_simple_lock";
locksElement.Properties.Item("requireLockForWriting").Value = false;
adminManager.CommitChanges();
VBScript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set authoringSection = adminManager.GetAdminSection("system.webServer/webdav/authoring", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set locksElement = authoringSection.ChildElements.Item("locks")
locksElement.Properties.Item("enabled").Value = True
locksElement.Properties.Item("lockStore").Value = "webdav_simple_lock"
locksElement.Properties.Item("requireLockForWriting").Value = False
adminManager.CommitChanges()