2010-09-03 13 views
5

Sto tentando di abituarmi a II7, avendo lavorato con IIS6 per un po 'di tempo.Rappresentazione e identità di IIS 7

In IIS 6, ho impostato <identity impersonate="true"/> nel web.config e mi assicuro che ho applicato le autorizzazioni NTFS corrette all'account IUSR_ [MACHINENAME] se una cartella richiedeva più di autorizzazioni di lettura.

In IIS 7, ho problemi a duplicare questa configurazione senza ricorrere all'applicazione di troppe autorizzazioni.

Se utilizzo <identity impersonate="true"/> in IIS 7, Environment.Username mi dice che sto davvero impersonando l'account IUSR, che è il nuovo equivalente. Tuttavia, se accedo alla parte amministrativa del sito Web utilizzando l'autenticazione basata sui moduli, essa impersonerà in modo diverso da quanto mi aspetto.

Con NetworkService ambientato nel pool di applicazioni:

  • Non è iscritto: IUSR, non impersonando: [MACHINENAME] $
  • clienti registrati: [NOMECOMPUTER] $, non impersonando: [MACHINENAME] $

Con set LocalService nel pool di applicazioni:

  • non è iscritto: IUSR, non impersona ting: SERVIZIO LOCALE
  • loggato: SERVIZIO LOCALE, non impersonando: SERVIZIO LOCALE

Se io do le IIS_IUSRS rappresentano i permessi NTFS posso rendere le cose funzionano bene, ma questo sembra strano. Come posso sempre impersonare l'account IUSR? O dovrei dare le autorizzazioni NTFS a IIS_IUSRS?

Apprezzerei una buona spiegazione di questo cambiamento in IIS7 - Ho cercato in giro e non riesco a trovare una spiegazione per questo utilizzo con l'autenticazione dei moduli.

+0

Hi @ScottE avete risolto questo problema? – Vladut

risposta

1

Ecco un frammento di un articolo di TechNet :

Se si attiva la rappresentazione per un'applicazione ASP.NET , che l'applicazione può essere eseguito in uno dei due contesti diversi : come utente autenticato da IIS 7 o come account arbitrario impostato. Ad esempio, se si sta utilizzando l'autenticazione anonima e ha scelto di eseguire l'applicazione ASP.NET come utente autenticato , l'applicazione correrebbe con un account impostato per utenti anonimi (in genere, IUSR). Allo stesso modo, se si è scelto di eseguire l'applicazione con un account arbitrario , essa verrebbe eseguita in qualsiasi contesto di sicurezza impostato per quell'account .

Ecco il documento completo:

http://technet.microsoft.com/en-us/library/cc730708%28WS.10%29.aspx

+0

Questo non spiega cosa succede quando si effettua l'accesso tramite l'autenticazione dei moduli. Prova il mio esempio sopra e vedrai. – ScottE

+0

http://technet.microsoft.com/en-us/library/cc733010%28WS.10%29.aspx – Cypher

1

Le modifiche della pipeline in IIS 7 gestiscono l'autenticazione in modo molto diverso rispetto alle versioni precedenti. La maggior parte degli scenari sono possibili, ma la configurazione è diversa.

Si dovrebbe guardare a questa voce su "cambiamenti rottura" in IIS 7.0 Essa dovrebbe contribuire a limitare giù a ciò che sta accadendo

http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-on-iis-70/

Speranza che aiuta

+0

Ho già letto che non ho ricevuto un errore. Non è un cambiamento irrisolto, è una comprensione che sto cercando. – ScottE