Si verificano errori di binding degli assembly dovuti a autorizzazioni insufficienti per la cartella dei file temporanei ASP.NET.Le autorizzazioni di scrittura dell'utente nella cartella File ASP.NET temporanei pongono problemi di sicurezza?
L'applicazione utilizza l'autenticazione Forms (web.config) con Impersonate = True e IIS Integrated Authentication di Windows.
In base a ASP.NET Identity Matrix, ciò significa che WindowsIdentity viene risolto in Dominio \ NomeUtente e in base a ASP.NET Required Access Control Lists (ACLs), WindowsIdentity richiede autorizzazioni di lettura/scrittura per la cartella File ASP.NET temporaneo.
Utilizzando il visualizzatore di log Fusion, posso confermare che l'errore del binding dell'assembly è dovuto a Domain \ UserName (appartenente al gruppo "Users" in sicurezza) che dispone solo delle autorizzazioni di lettura per questa cartella, ma non delle autorizzazioni di scrittura.
Le domande sono:
Esistono implicazioni di sicurezza di assegnazione di autorizzazioni di scrittura alla cartella Temporary Files ASP.Net?
Questa modifica alla configurazione del server viene comunemente utilizzata? In caso contrario, perché WindowsIdentity dovrebbe risolvere Domain \ UserName per questa combinazione di impostazioni di web.config o questa combinazione non dovrebbe essere utilizzata in questo contesto?
Nota: il problema si verifica solo se un utente non amministratore è il primo a premere la pagina. Se l'assembly è già stato compilato e memorizzato in file ASP.NET temporanei a causa di un utente amministratore che ha colpito la pagina, non ci sono problemi per gli utenti successivi. NON desidero posizionare gli assembly nel GAC.
È questo IIS6 o IIS7? – Kev