Aggiunta dell'aggiunta dell'autorizzazione <di sicurezza>
L'elemento <add>
<authorization>
della raccolta definisce una regola di autorizzazione che consentirà o negherà l'accesso a utenti, gruppi, utenti anonimi o a tutti gli utenti specificati.
L'attributo accessType specifica uno dei due tipi di regole di autorizzazione:
- Le regole consenti consentono di definire gli account utente o i gruppi di utenti che possono accedere a un sito, a un'applicazione o a tutti i siti in un server.
- Le regole di negazione consentono di definire gli account utente o i gruppi di utenti che non possono accedere a un sito, a un'applicazione o a tutti i siti in un server.
Le regole di autorizzazione possono essere destinate ulteriormente a un elenco di verbi HTTP e a utenti o gruppi specifici.
Versione | Note |
---|---|
IIS 10.0 | L'elemento <add> non è stato modificato in IIS 10.0. |
IIS 8,5 | L'elemento <add> non è stato modificato in IIS 8.5. |
IIS 8,0 | L'elemento <add> non è stato modificato in IIS 8.0. |
IIS 7,5 | L'elemento <add> non è stato modificato in IIS 7.5. |
IIS 7.0 | L'elemento <add> <authorization> della raccolta è stato introdotto in IIS 7.0. |
IIS 6.0 | La <authorization> raccolta sostituisce le proprietà AzEnable, AzStoreName, AzScopeName e AzImpersonationLevel di IIS 6.0. |
Per supportare e configurare l'autorizzazione per siti e applicazioni nel server Web, è necessario installare il modulo di autorizzazione URL. A tale scopo, seguire questa procedura.
- Sulla barra delle applicazioni fare clic su Server Manager. - In Server Manager fare clic sul menu Gestisci e quindi su Aggiungi ruoli e funzionalità. - Nella procedura guidata Aggiungi ruoli e funzionalità fare clic su Avanti. Selezionare il tipo di installazione e fare clic su Avanti. Selezionare il server di destinazione e fare clic su Avanti. - Nella pagina Ruoli server espandere Server Web (IIS), espandere Server Web, espandere Sicurezza e quindi selezionare Autorizzazione URL. Fare clic su Avanti.
. - Nella pagina Seleziona funzionalità fare clic su Avanti. - Nella pagina Conferma selezioni di installazione fare clic su Installa. - Nella pagina Risultati fare clic su Chiudi.
- Nella schermata Start spostare il puntatore fino all'angolo inferiore sinistro, fare clic con il pulsante destro del mouse sul pulsante Start e quindi scegliere Pannello di controllo. - In Pannello di controllo fare clic su Programmi e funzionalità, quindi fare clic su Attiva o disattiva funzionalità di Windows. - Espandere Internet Information Services, servizi Web globale, sicurezza e quindi selezionare Autorizzazione URL.
- Fare clic su OK. - Fare clic su Close.
- Sulla barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione, quindi fare clic su Server Manager. - Nel riquadro della gerarchia Server Manager espandere Ruoli e quindi fare clic su Server Web (IIS). - Nel riquadro Server Web (IIS) scorrere fino alla sezione Servizi ruolo e quindi fare clic su Aggiungi servizi ruolo. - Nella pagina Selezione servizi ruolo della Procedura guidata Aggiungi servizi ruolo selezionare Autorizzazione URL e quindi fare clic su Avanti.
- Nella pagina Conferma selezioni di installazione fare clic su Installa. - Nella pagina Risultati fare clic su Chiudi.
- Sulla barra delle applicazioni fare clic su Start e quindi su Pannello di controllo. - In Pannello di controllo fare clic su Programmi e funzionalità, quindi fare clic su Attiva o disattiva funzionalità di Windows. - Espandere Internet Information Services, quindi selezionare Autorizzazione URL e quindi fare clic su OK.
Aprire Gestione Internet Information Services (IIS):
Se si usa Windows Server 2012 o Windows Server 2012 R2:
- Sulla barra delle applicazioni fare clic su Server Manager, scegliere Strumenti, quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows 8 o Windows 8.1:
- Tenere premuto il tasto Windows, premere la lettera X e quindi fare clic su Pannello di controllo.
- Fare clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
Se si usa Windows Server 2008 o Windows Server 2008 R2:
- Sulla barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione, quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows Vista o Windows 7:
- Sulla barra delle applicazioni fare clic su Start e quindi su Pannello di controllo.
- Fare doppio clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
Nel riquadro Connessioni espandere il nome del server, espandere Siti e quindi passare al sito o all'applicazione in cui si vuole configurare l'autorizzazione.
Nel riquadro Home fare doppio clic su Regole di autorizzazione.
Per aggiungere una nuova regola di autorizzazione, nel riquadro Azioni fare clic su Aggiungi regola consenti ... o Aggiungi regola di rifiuto...
Applicare le impostazioni di autorizzazione necessarie per il sito o l'applicazione e quindi fare clic su OK. Ad esempio:
Esempio 1: Aggiunta di una regola Consenti per tutti gli utenti per verbi HTTP specifici:
Esempio 2: Aggiunta di una regola di negazione per un utente specifico per tutti i verbi HTTP:
Nota
Per modificare o eliminare una regola esistente, selezionare la regola nel riquadro Regole di autorizzazione e quindi fare clic su Modifica o Rimuovi nel riquadro Azioni . Se si fa clic su Modifica... , viene visualizzata una finestra di dialogo che consente di modificare la regola; questa finestra di dialogo è simile alla finestra di dialogo Aggiungi regola di autorizzazione consentita e Aggiungi regola di autorizzazione nega .
Attributo | Descrizione | ||||||
---|---|---|---|---|---|---|---|
accessType |
Attributo Enum obbligatorio. L'attributo accessType può essere uno dei valori possibili seguenti.
|
||||||
roles |
Attributo stringa facoltativo. Specifica i ruoli per una regola di autorizzazione. |
||||||
users |
Attributo stringa facoltativo. Specifica gli utenti per una regola di autorizzazione. È possibile aggiungere più utenti in un elenco delimitato da virgole. Sono stati inoltre definiti gli identificatori speciali seguenti.
|
||||||
verbs |
Attributo stringa facoltativo. Specifica i verbi HTTP per una regola di autorizzazione. Se questo valore viene lasciato vuoto o non viene specificato, la regola verrà applicata a tutti i verbi HTTP. |
Nessuno.
Nell'esempio di configurazione seguente, se incluso in un file di Web.config, vengono rimosse le impostazioni di autorizzazione IIS predefinite, che consente a tutti gli utenti di accedere al sito Web o al contenuto dell'applicazione. Configura quindi una regola di autorizzazione che consente solo agli utenti con privilegi di amministratore di accedere al contenuto.
<configuration>
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Allow" users="" roles="Administrators" />
</authorization>
</security>
</system.webServer>
</configuration>
Gli esempi seguenti aggiungono una regola di autorizzazione allow che consente agli utenti del gruppo administrators di accedere a un sito Web denominato Contoso.
appcmd.exe set config "Contoso" -section:system.webServer/security/authorization /+"[accessType='Allow',roles='administrators']"
Nota
Facoltativamente, è possibile impostare il parametro commit su apphost
quando si usa AppCmd.exe per configurare queste impostazioni. In questo modo le impostazioni di configurazione vengono confermate nella sezione relativa al percorso appropriato nel file ApplicationHost.config anziché in un file di Web.config.
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.GetWebConfiguration("Contoso");
ConfigurationSection authorizationSection = config.GetSection("system.webServer/security/authorization");
ConfigurationElementCollection authorizationCollection = authorizationSection.GetCollection();
ConfigurationElement addElement = authorizationCollection.CreateElement("add");
addElement["accessType"] = @"Allow";
addElement["roles"] = @"administrators";
authorizationCollection.Add(addElement);
serverManager.CommitChanges();
}
}
}
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetWebConfiguration("Contoso")
Dim authorizationSection As ConfigurationSection = config.GetSection("system.webServer/security/authorization")
Dim authorizationCollection As ConfigurationElementCollection = authorizationSection.GetCollection
Dim addElement As ConfigurationElement = authorizationCollection.CreateElement("add")
addElement("accessType") = "Allow"
addElement("roles") = "administrators"
authorizationCollection.Add(addElement)
serverManager.CommitChanges()
End Sub
End Module
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso";
var authorizationSection = adminManager.GetAdminSection("system.webServer/security/authorization", "MACHINE/WEBROOT/APPHOST/Contoso");
var authorizationCollection = authorizationSection.Collection;
var addElement = authorizationCollection.CreateNewElement("add");
addElement.Properties.Item("accessType").Value = "Allow";
addElement.Properties.Item("roles").Value = "administrators";
authorizationCollection.AddElement(addElement);
adminManager.CommitChanges();
Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso"
Set authorizationSection = adminManager.GetAdminSection("system.webServer/security/authorization", "MACHINE/WEBROOT/APPHOST/Contoso")
Set authorizationCollection = authorizationSection.Collection
Set addElement = authorizationCollection.CreateNewElement("add")
addElement.Properties.Item("accessType").Value = "Allow"
addElement.Properties.Item("roles").Value = "administrators"
authorizationCollection.AddElement(addElement)
adminManager.CommitChanges()