Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo presenta le autorizzazioni per connettersi a un database di Access remoto.
Versione originale del prodotto: ASP.NET
Numero KB originale: 307901
Riepilogo
Questo articolo elenca le impostazioni di sicurezza minime necessarie per connettersi a un database remoto di Microsoft Access da ASP.NET, tra cui:
- Impostazioni di Windows NT File System (NTFS)
- Impostazioni di Microsoft Internet Information Services (IIS)
- Impostazioni dei criteri di sicurezza locali
- ASP.NET impostazioni del file di configurazione (Web.config)
Questo articolo non include come configurare le connessioni di database.
Ulteriori informazioni
Quando gli utenti passano a un sito Web di ASP.NET, richiedono l'esecuzione di codice nel server. Tutti i processi vengono eseguiti all'interno del contesto di sicurezza di un account specifico. Per impostazione predefinita, IIS usa l'account di sistema. L'account di sistema dispone dell'accesso completo al computer server IIS, ma non è autorizzato ad accedere alle cartelle condivise in altri computer(talvolta denominate risorse NTFS). Pertanto, è necessario configurare il computer IIS in modo che usi un account diverso dall'account di sistema. La sezione Configura il server IIS descrive diversi modi per selezionare un account alternativo.
Dopo che IIS è impostato per l'esecuzione con un altro account, è necessario concedere all'account l'autorizzazione a tutti i file e le cartelle necessari per usare il database di Accesso remoto, tra cui:
- Cartella temporanea nel server IIS.
- Condividere nel computer remoto.
- Autorizzazioni del file system NTFS per il file di database e la relativa cartella.
- Accesso al computer remoto dalla rete.
- Autorizzazione per accedere al computer remoto.
La sezione Configura il server di accesso descrive come impostare queste autorizzazioni per l'account.
Configurare il server IIS
In questa sezione viene descritto come configurare il server IIS.
Usare il file Web.config per abilitare la rappresentazione
Per connettersi a un database di Accesso remoto, ASP.NET deve passare un token di sicurezza per l'utente che rappresenta al server remoto. Se non si abilita la rappresentazione nel file Web.config , ASP.NET usa l'account di sistema per impostazione predefinita. Tuttavia, l'account di sistema non può eseguire l'autenticazione in rete. Per usare un account diverso, aggiungere un <identity impersonate="true" /> tag nel file Web.config per una determinata applicazione ASP.NET. Ad esempio:
<configuration>
<system.web>
...
<identity impersonate="true" />
...
</system.web>
</configuration>
In questa configurazione ASP.NET rappresenta l'utente autenticato da IIS.
Usare un metodo di autenticazione per selezionare un'identità
Usare uno dei metodi di autenticazione seguenti per selezionare un'identità:
Autenticazione anonima
È possibile configurare l'account da usare in Gestione Servizi Internet. Per impostazione predefinita, questa opzione è impostata sull'account guest Internet o IUSR_ComputerName. Indipendentemente dall'account usato, se si usa un account locale (anziché un account di dominio), è necessario seguire la procedura descritta nella sezione Replicare gli account utente locali del computer IIS.Autenticazione di base
Questo metodo di autenticazione richiede che l'utente finale digita un nome utente e una password definiti nel computer IIS o in un dominio attendibile per il computer IIS. Poiché ciò consente più ID utente, è necessario aggiungere tutti gli ID a un gruppo. Ovunque questo articolo indichi di concedere autorizzazioni all'utente rappresentato, concedere invece tali autorizzazioni a questo gruppo.
Se uno di questi account è un account locale nel computer IIS, è necessario replicare ogni account locale nel computer di Accesso remoto. A tale scopo, seguire la procedura descritta nella sezione Replicare gli account utente locali del computer IIS.
Autenticazione integrata di Windows
Questo metodo di autenticazione funziona solo se la rete è configurata per l'uso dell'autenticazioneKerberose se i computer e gli account sono configurati come attendibili per la delega. In caso contrario, non è possibile usare i autenticazione di Windows integrati per accedere ai dati in una risorsa NTFS remota. Ciò è dovuto al fatto che l'autenticazione di Windows integrata consente solo di accedere al server IIS e non alle risorse NTFS aggiuntive a cui accede il server IIS in remoto.Impostazione web.config
Usare il file Web.config per configurare ASP.NET per rappresentare un account di dominio specifico con le autorizzazioni di accesso necessarie nel computer remoto. Per impostazione predefinita, IIS è impostato per impedire ad altri utenti che visualizzano il sito Web di visualizzare il contenuto del file Web.config . Tuttavia, questo metodo richiede di archiviare il nome utente e la password in testo non crittografato nel server.
<configuration>
<system.web>
...
<identity impersonate="true" userName="<supplied username>" password="<supplied password>" />
...
</system.web>
</configuration>
Eseguire l'override dell'autenticazione Le istruzioni precedenti usano i
<identity impersonate="true" />metodi di autenticazione e tag in modo che il codice ASP venga eseguito come account utente anziché come account di sistema. Indipendentemente dalle impostazioni di rappresentazione o autenticazione, esistono altri modi meno comuni per l'esecuzione come account utente. L'elenco seguente illustra due di questi metodi alternativi, anche se i dettagli per questi metodi non rientrano nell'ambito di questo articolo.Processo separato È possibile inserire tutte le funzioni di accesso ai dati in una libreria a collegamento dinamico (DLL) ActiveX e posizionare tale DLL in Servizi componenti. È quindi necessario configurare le impostazioni di Servizi componenti per tale componente in modo che venga eseguito come processo specifico (libreria server). Nella scheda Identità in Servizi componenti specificare l'account utente da usare.
Interfacce di programmazione dell'applicazione di rappresentazione È possibile creare una DLL ActiveX che usa le API (Application Programming Interface) per passare dall'account utente attualmente in uso a qualsiasi altro account. È quindi possibile usare il database di Access mentre si esegue come altro utente.
Configurare l'accesso alla cartella temporanea
Il motore di database Microsoft Jet scrive i file temporanei nella cartella Temp nel computer locale, ovvero il server IIS in questo caso. È necessario impostare le autorizzazioni appropriate per questa cartella Temp.
Autorizzazioni NTFS Questa impostazione richiede che l'identità utente (determinata dalle istruzioni di rappresentazione precedenti) disponga delle autorizzazioni di controllo completo NTFS per la cartella Temp.
Variabili di ambiente TEMP e TMP Potrebbe essere necessario definire le variabili di ambiente TEMP e TMP per il sistema. Se le variabili TEMP e TMP non sono configurate nel server IIS, il motore Jet tenta di scrivere questi file nella
Windows\System32cartella. Poiché ciò potrebbe non essere accettabile per la maggior parte dei siti Web, è comune configurare le variabili TEMP e TMP.
Queste variabili sono spesso già configurate per gli utenti interattivi nel computer. Tuttavia, poiché i processi avviati da IIS non hanno accesso a queste variabili, potrebbe essere necessario configurare le variabili TEMP e TMP per il sistema. Per configurare le variabili TEMP e TMP per il sistema, seguire questa procedura in Microsoft Windows 2000:
Nel computer IIS fare clic con il pulsante destro del mouse su Computer e quindi scegliere Proprietà.
Nella scheda Avanzate fare clic su Variabili di ambiente.
In Variabili di sistema cercare la variabile TEMP. Se questa variabile non esiste, seguire questa procedura per aggiungerla:
- Nella finestra di dialogo Variabili di ambiente fare clic su Nuovo.
- Nella casella di testo Nome variabile della finestra di dialogo Nuova variabile di sistema digitare TEMP.
- Nella casella di testo Valore variabile digitare il percorso della cartella Temp nel computer e quindi fare clic su OK.
Ripetere i passaggi da 3a a 3c per la variabile TMP.
Configurare il server di accesso
Questa sezione descrive come configurare il server di Microsoft Access.
Configurare le autorizzazioni NTFS
Tuttavia, si sceglie di rappresentare gli account all'interno di ASP.NET, se il file system nel computer remoto è NTFS, è necessario impostare correttamente le autorizzazioni nel computer remoto. Ad esempio, è necessario impostare le autorizzazioni seguenti per il file di database:
- Lettura
- Scrittura
- Execute
- Modifica
Inoltre, è necessario impostare le autorizzazioni seguenti per la cartella in cui risiede il file:
- Lettura
- Scrittura
- Execute
- Elimina
- Modifica
Se sono presenti più account utente possibili, ad esempio nell'autenticazione di base o digest, creare un gruppo, aggiungere gli account utente a questo gruppo e quindi concedere privilegi al gruppo.
Configurare le autorizzazioni di condivisione
Come le autorizzazioni del file system NTFS, è necessario impostare anche le autorizzazioni di condivisione per consentire l'accesso per lo stesso utente, utenti o gruppo.
Potresti essere tentato di usare le condivisioni amministrative, che Windows crea per ogni unità (ad esempio l'unità C). Tuttavia, è preferibile creare una nuova condivisione perché le condivisioni amministrative richiedono l'aggiunta di tutti gli utenti che usano la condivisione al gruppo Administrators.
Se il database viene archiviato in una piattaforma diversa da una piattaforma Microsoft Windows, è necessario configurare questa condivisione in modo appropriato per la piattaforma di destinazione.
Replicare gli account utente locali del computer IIS
Per concedere le autorizzazioni NTFS e di condivisione all'utente rappresentato, il computer di Access deve riconoscere l'account utente. Se l'account è un account di dominio, è possibile aggiungerlo agli elenchi di autorizzazioni in entrambi i computer. Se uno o più account sono un account locale nel computer IIS, non verrà riconosciuto nel computer di Access. Per risolvere questo problema, usare lo stesso nome utente e la stessa password per creare un account locale duplicato nel computer di Access.
Configurare le autorizzazioni dei criteri di sicurezza locali
È inoltre necessario concedere allo stesso account, account o gruppo l'autorizzazione per accedere al computer nei criteri di sicurezza locali, a meno che l'account o gli account non appartengano già a un gruppo con autorizzazioni (ad esempio il gruppo Everyone). È necessario concedere le autorizzazioni seguenti:
- Accedere in locale
- Accedi al computer dalla rete
Per accedere all'editor dei criteri di sicurezza locale, seguire questa procedura:
- In Pannello di controllo fare doppio clic su Strumenti di amministrazione e quindi fare doppio clic su Criteri di sicurezza locali.
- Espandere il nodo Impostazioni di sicurezza, il nodo Criteri locali e il nodo Assegnazione diritti utente per accedere all'autorizzazione Accesso locale e all'autorizzazione Accedi a questo computer dall'autorizzazione di rete .