Condividi tramite


Procedura: accedere a SQL Server in qualità di utente noto del dominio Windows

Aggiornamento: novembre 2007

Per impostazione predefinita, in Microsoft Windows 2000 e Microsoft Windows XP, le applicazioni ASP.NET vengono eseguite nel contesto dell'account utente locale ASPNET mentre in Windows Server 2003 nel contesto dell'account utente locale NETWORK SERVICE. Questi account utente dispongono di diritti di accesso limitati. Tuttavia, poiché l'account ASPNET è locale rispetto al server Web, non viene riconosciuto come utente dai computer remoti. Per aggirare questa limitazione, è possibile eseguire l'applicazione nel contesto di un utente di dominio Windows riconosciuto sia sul server Web che sul computer che esegue Microsoft SQL Server.

Il mapping del processo dell'applicazione a un utente di dominio Windows richiede le seguenti configurazioni:

  • Server Web.

    Accertarsi che l'account utente del dominio Windows specificato disponga di diritti sufficienti, ma non superiori, per l'esecuzione di un'applicazione Web.

  • Applicazione in uso.

    Configurare il file Web.config affinché ASP.NET riconosca il nome dell'account utente del dominio.

    Nota:

    Per informazioni sui file Machine.config e Web.config, vedere Cenni preliminari sulla configurazione di ASP.NET.

  • Stringa di connessione.

    Quando si creano le stringhe di connessione per gli oggetti di connessione dell'applicazione, è necessario specificare che tali stringhe utilizzano la protezione integrata di Windows.

  • SQL Server.

    Aggiungere l'account utente del dominio specificato come utente autorizzato ad accedere a SQL Server.

Configurazione di un account utente sul server Web

Per impostare i diritti utente per l'account utente del dominio Windows

  1. Sul server Web utilizzare gli strumenti di amministrazione di Windows per accertarsi che l'account utente del dominio Windows a cui si è effettuato il mapping disponga dei diritti necessari.

    Per informazioni dettagliate, vedere Elenchi di controllo di accesso (ACL, Access Control List) ASP.NET necessari.

  2. Eseguire aspnet_regiis.exe con l'opzione -ga per concedere i diritti utente comuni richiesti dall'identità che verrà utilizzata per la rappresentazione dell'applicazione.

Mapping all'account utente del dominio Windows e attivazione della rappresentazione

Dopo avere stabilito i diritti utente corretti per l'account utente di dominio, configurare la rappresentazione dell'identità dell'applicazione.

Nota sulla sicurezza:

L'inserimento delle credenziali utente nel file Web.config rappresenta un potenziale rischio per la sicurezza. Gli utenti con diritti di accesso alla directory contenente il file Web.config sono in grado di leggere il file e quindi di vedere le credenziali. Per informazioni dettagliate sulla protezione da tale rischio, vedere Crittografia delle informazioni di configurazione utilizzando la configurazione protetta.

Per configurare l'applicazione Web per la rappresentazione

  • Aprire il file Web.config dell'applicazione e aggiungere il seguente codice di rappresentazione dell'identità:

    <identity impersonate="true" userName="domain\username" password="********"/>
    

    Sostituire la password corretta con il valore elencato nell'esempio precedente.

    Nota:

    Per gli elementi del file Web.config viene fatta distinzione tra maiuscole e minuscole.

Utilizzo della protezione di Windows nella stringa di connessione

Al termine, quando si creano le stringhe di connessione per l'accesso al database, configurarle in modo da utilizzare la protezione integrata di Windows.

Per utilizzare la protezione integrata di Windows nella stringa di connessione

  • Quando si crea un stringa di connessione per l'applicazione, non includere un nome utente e una password. Impostare invece l'attributo Integrated Security della stringa di connessione su SSPI.

    Nell'esempio riportato di seguito viene illustrata una stringa di connessione che include gli attributi appropriati:

    data source=myserver;initial catalog=northwind;Integrated Security=SSPI
    

Per configurare SQL Server per la protezione integrata

  1. In Windows fare clic sul pulsante Start, scegliere Microsoft SQL Server e quindi Enterprise Manager.

  2. Aprire il nodo relativo al server e quindi espandere il nodo del database per cui si desidera concedere i diritti utente.

  3. Fare clic con il pulsante destro del mouse su Utenti e scegliere Nuovo utente database.

  4. Nella finestra di dialogo Proprietà utente database immettere dominio\nomeutente nella casella Nome di accesso, quindi fare clic su OK.

Vedere anche

Concetti

Rappresentazione ASP.NET