Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs

Web Folders mit IIS

Geschrieben von: Christoph Wille
Kategorie: Server

This printed page brought to you by AlphaSierraPapa

Bei der Verwendung eines Intranets kam mir ein interessantes Feature unter - durch einen Klick auf einen Hyperlink auf einer Seite öffnete sich der Windows Explorer, und ich konnte wie vom Explorer gewohnt, Dateien auf den Webserver kopieren oder auf lokale Datenträger schreiben. Mein Interesse war geweckt, und ich wollte wissen, wie denn das funktioniert.

Die Technik im Hintergrund, mit der wir uns heute beschäftigen, nennt sich WebDAV (distributed authoring and versioning). Dieses WebDAV findet sich in IIS seit der Version 5, und ebenso in Internet Explorer der Version 5 (und natürlich in vielen anderen Server bzw Clientprodukten anderer Hersteller, da es sich um einen offenen Standard handelt). Wie der Name bereits andeutet, dient es dazu, Dokumente am Webserver editieren und versionieren zu können. Mit dem "Authoring" Teil werden wir uns heute beschäftigen, beginnend auf der Serverseite.

Web Folder einrichten

Ohne Konfiguration des Server geht nichts, aber zumindest ist diese sehr leicht erledigt mit Hilfe des Internet Services Manager.

Tip Ein Web Folder Verzeichnis sollte immer nur als solches dienen, nicht auch "normale" Webinhalte serven. Wenn man ein solches physikalisch eingerichtet hat, wählt man Eigenschaften aus dem Kontextmenü:

Standardmäßig ist Lesezugriff erlaubt, das wird in den meisten aller Fälle nicht ausreichen. Deshalb ist zusätzlich Schreibzugriff und Verzeichnisauflistung erlaubt (auch schon, um anderen Browser-Clients als Internet Explorer zumindest gewissen Zugriff zu erlauben).

Tip Vernachlässigen Sie niemals die Sicherheit Ihrer Web Folder. Gehen Sie dazu auf den Directory Security Tab:

Für Transportsicherheit der Daten empfiehlt sich SSL, was manches Mal durchwegs erwünscht sein kann. Wichtiger ist aber die Zugriffskontrolle. Das, was Sie hier einstellen wirkt sich darauf aus, wer mit welchem WebDAV Client zugreifen kann. Wenn nur NTLM aktiviert ist, kann auch nur der Windows Explorer zugreifen:

Damit ist unser Server fertigkonfiguriert - für das Testen. Im Echtbetrieb vergessen Sie bitte nicht, auf das Verzeichnis entsprechende NTFS Rechte zu vergeben!

Manuelle Verbindung zu einem Web Folder

Wenn man die Adresse eines Web Folders kennt, kann man diesen mittels "My Network Places" in Windows einrichten:

Einfach "Add Network Place" doppelklicken, und in dem sich öffnenden Wizard die Adresse eintippen:

Zuletzt wird noch ein Name für den Network Place fällig - suchen Sie sich einen Namen aus, der leicht wiedererkennbar ist!

Damit ist man fertig, und kann Dateien via Windows Explorer up- und downloaden:

Web Folders in Webseiten einbetten

Die interessante Frage ist jetzt, wie man diesen manuellen Vorgang ausschalten kann - wie also ein Benutzer einer (Intranet)Website direkt zu einem Web Folder Verzeichnis geführt werden kann, von dem er bis dato nichts gewußt hat (oder für User, die ohne Anleitung dazu technisch nicht in der Lage wären).

Vorweg: der gezeigte Ansatz funktioniert nur mit Internet Explorer, denn nur dieser bietet sogenannte Behaviors an. Im speziellen kann man mit zwei Behaviors arbeiten: anchorClick und httpFolder. Das anchorClick Behavior eignet sich für statische Links, wohingegen httpFolder bei JavaScript-Lösungen zum Einsatz kommen wird.

Der folgende Code zeigt den Einsatz des anchorClick Behaviors für den schon bekannten Web Folder:

<html>
<head>
<title>Web Folder Sample Site</title>
<STYLE>
A {behavior: url(#default#AnchorClick);}
</STYLE>
</head>
<body>

<a href="http://www.aspheute.com/">AspHeute</a> (normaler Link) <br>
<a href="" FOLDER="http://localhost/Christoph/">Christoph's Verzeichnis</a> (Web Folder Link)

</body>
</html>

Man benötigt einen Eintrag im Stylesheet, und jeder Web Folder Link muß mit einem FOLDER Attribut versehen werden. Von "außen" ist der Unterschied nicht ersichtlich:

Ein Klick auf den Web Folder Link aber verwandelt den Internet Explorer in einen Windows Explorer der uns den Web Folder anzeigt:

Auf das httpFolder Behavior werde ich nicht eingehen, dieses ist im MSDN Artikel About Web Folder Behaviors ausführlich mit Beispiel beschrieben.

Schlußbemerkung

Für eine Intranetanwendung sind Web Folders eine praktische Möglichkeit, den Dateiupload einmal anders zu lösen. Vor allem Enduser werden damit leichter umgehen können, da ihnen der Windows Explorer bereits bekannt ist.

This printed page brought to you by AlphaSierraPapa

Verwandte Artikel

Virtuelle Verzeichnisse umbenennen
http:/www.aspheute.com/artikel/20030911.htm

Links zu anderen Sites

About Web Folder Behaviors
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/behaviors/overview/WebFolder.asp

 

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.