3 pagine in totale: <<Indietro 1 [2] 3 Avanti >>
La configurazione di IIS 7 rende davvero semplice effettuare qualsiasi personalizzazione attraverso i file di configurazione. Se ad esempio vogliamo modificare la lista dei documenti di default, ci basta aggiungere al web.config qualcosa del genere:
<configuration>
<system.webServer>
<defaultDocument>
<files>
<add value="default.aspitalia" />
</files>
</defaultDocument>
</system.webServer>
</configuration>
Se vogliamo aggiungere una header personalizzata alle risposte, ad esempio per specificare le informazioni P3P (sulla privacy) di un dato documento, piuttosto che per aggiungere qualsiasi header ci possa servire, ci basta agire sempre sul file di configurazione, in questo modo:
<httpProtocol>
<customHeaders>
<add name="X-WebSiteUrl" value="http://www.aspitalia.com/" />
</customHeaders>
</httpProtocol>
Ed ancora, ecco come definire le pagine destinate agli utenti in caso di errori, impostazione che riguarda qualsiasi richiesta, non solo per quelle direttamente gestite dall'engine ASP.NET:
<httpErrors>
<error statusCode="400" url="/errors/404.aspx" />
</httpErrors>
Costruire un module per IIS 7 è semplicissimo: basta basarsi sull'interfaccia IHttpModule disponibile oggi con le attuali versioni di ASP.NET. Questa integrazione rende possibile l'aggiunta di funzionalità non previste da IIS con uno sforzo davvero minimo e con una superficie di applicazione che non è limitata solo ad ASP.NET. In più c'è il vantaggio che il module, una volta installato, funziona anche su pagine ASP, senza bisogno di reinventarsi nulla.
Tra le conseguenze migliori di questa nuova architettura c'è la possibilità di utilizzare le Membership e Roles API di ASP.NET 2.0 e, volendo, l'accesso basato su ruoli, per proteggere facilmente qualsiasi tipo di contenuto presente sul web server, senza necessariamente limitare queste funzionalità alle sole applicazioni ASP.NET.
Ovviamente viene mantenuto il supporto agli ISAPI Filter classici, per compatibilità verso il basso. Ecco ad esempio come viene registrato l'ISAPI Filter che aggancia l'engine PHP:
<handlers>
<add name="PHP" path="*.php" verb="*" modules="IsapiModule"
scriptProcessor="C:\PHP\PHP5ISAPI.dll" resourceType="File" />
</handlers>

Delegation nella configurazione
Se avete già provato a configurare un'applicazione ASP.NET con il web.config, vi sarete accorti che ci sono alcune sezioni che possono essere modificate ed altre che invece sono bloccate dalla modifica nel machine.config.
Questa caratteristica si chiama delegation ed è, in pratica, la possibilità per l'amministratore di definire delle policy di configurazione di valenza globale (sull'intero server web), che poi il file di configurazione della singola applicazione non possa modificare.
Questo modello è ovviamente presente anche in IIS 7, in modo da permettere all'amministratore di specificare, per uno o per tutti i siti, politiche di tale tipo all'interno dell'applicationHosting.config che non possano poi essere modificate nel web.config, garantendo ad esempio che determinate estensioni o motori non siano installabili o rimuovibili.
Questo concetto, per certi versi, è già disponibile in IIS 6 attraverso la voce "Web Service Extensions", che però ha lo svantaggio di essere globale, per tutti i siti del server, laddove in IIS 7 il nuovo modello consente di fare la stessa operazione su base di ogni singola applicazione.
Inoltre questa caratteristica fa sì che l'amministratore possa concedere allo sviluppatore in modo molto semplice la gestione dell'applicazione nelle caratteristiche che ha deciso, potendo anche sfruttare direttamente i tool di IIS, tra cui una nuova applicazione web che rende possibile la gestione in autonomia delle funzionalità.
Sicurezza
Anche su questo fronte ci sono interessanti novità, con l'integrazione di una versione rivista e migliorata di UrlScan, un servizio che si installa a parte su IIS 5 o IIS 6 e che ha funzionalità di parsing e blocco in real-time di richieste potenzialmente considerate pericolose per il web server.
Dato che il nuovo IIS eredita il modello di configurazione di ASP.NET, diventa possibile specificare le policy di protezione anche per un singolo file. Se avete familiarità con il web.config e la security di ASP.NET, questa operazione consiste in pratica nell'utilizzo della sezione <location> per definire comportamenti particolari per una sottodirectory o anche per la singola pagina.
Tra le novità di IIS 7 c'è inoltre la possibilità di utilizzare token di autenticazione che non siano stati creati a partire da utenti Windows, per rendere più semplice l'interoperabilità con altre piattaforme. Come ormai avrete capito, anche per quanto riguarda la security, è sufficiente applicare la configurazione voluta al web.config o all'applicationHosting.config.
Un'altra novità è l'aggiunta di ulteriori sub-status-code di errore, che vengono salvati all'interno dei log file per le opportune verifiche. Ad esempio, un codice 404.16 indica che l'URL richiesto è troppo lungo e che è stato bloccato per questo motivo.
3 pagine in totale: <<Indietro 1 [2] 3 Avanti >>
Contenuti dell'articolo
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.







Difficoltà
Stampa
Download 



