IIS7 Regole di Autorizzazione / Config – Spingendo Perennemente

Sto cercando di proteggere un’applicazione in IIS7 utilizzando .NET Regole di Autorizzazione.

Per impostazione predefinita, il server web consente a tutti gli utenti l’accesso (ereditato).

Ho aggiunto, proprio per questo una directory di applicazione, un negare a tutti gli utenti di comando, così come permettono di comando per utenti specifici.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.web>
        <authorization>
            <allow users="myusername" />
            <deny users="*" />
        </authorization>
    </system.web>
</configuration>

Ho attivata l’Autenticazione di Windows, e posso verificare che senza la linea che la mia REMOTE_USER è MYDOMAIN\myusername.

Tuttavia, quando si tenta di negare a tutti gli utenti, mi viene richiesto con le tipiche Finestre di dominio, nome utente e password della casella di. Se inserisco l’username password il prompt torna di nuovo 3 volte fino a quando finalmente la presentazione di me con un messaggio di errore. (Ho anche provato inutilmente)

Guardare nel visualizzatore eventi, sembra come se il mio login utilizzando il nome utente e la pw è successo nel controllo … e oltre quel punto, il mio account non viene bloccato (che sarebbe se fossi in mancanza di login più e più volte). Quindi è come se ho la registrazione, ma la configurazione non vedere ciò che ho inserito come corrispondente, il mio login.

Sotto è il messaggio che voglio vedere (anche quando la connessione dal server localhost):

**L’accesso è negato.

Descrizione: si è verificato Un errore durante l’accesso le risorse necessarie per soddisfare questa richiesta. Il server potrebbe non essere configurato per l’accesso all’URL richiesto.

Messaggio di errore 401.2.: Non autorizzato: Accesso non riuscito a causa della configurazione del server. Verificare che si dispone dell’autorizzazione per visualizzare questa directory o pagina in base alle credenziali fornite e i metodi di autenticazione abilitata sul server Web. Contattare l’amministratore del server Web della ulteriore assistenza.**

Inoltre, sembra che questo approccio è un approccio per IIS6 ASP.NET. IIS7 Autorizzazione è un po ‘ diverso. Per quello che ho <sistema.webServer><><autorizzazione><aggiungere … /> regole, ma queste sembrano non fare nulla. Ho aggiunto uno dei <aggiungere accessType=”Nega” utenti=”*” /> e non sembra negare nulla. Questo è IIS 7.5. Stranamente, l’ .NET Regole di Autorizzazione icona sotto ASP.NET e sembra seguire il IIS6 approccio. Forse IIS7 Autorizzazione non è configurato o installato?
Sembra che IIS7 URL Autorizzazione non è installato sul mio sistema. Invece, c’è qualcos’altro con lo stesso nome che è installato, che è l’IIS versione 6 che funziona in modo diverso. Cattivo, Microsoft! Voglio aggiornare con una risposta completa se questo porta ad una risoluzione.

OriginaleL’autore enforge | 2010-12-08

4 Replies
  1. 9

    Prima di tutto, il problema principale era che IIS6 di Autorizzazione è anche incluso in IIS7, e almeno nel mio caso è stata l’impostazione predefinita. Innanzitutto, assicurarsi che si dispone di IIS7 Autorizzazione installato. Le indicazioni Complete possono essere trovate qui:

    http://www.iis.net/ConfigReference/system.webServer/security/authorization

    La confusione si verifica perché in IIS7, c’è una voce nel menu dell’applicazione, chiamata “.NET Regole di Autorizzazione” (sotto il ASP.NET la sezione). Questo NON è ciò che si desidera per IIS7 Autorizzazione. Per questo, è necessario assicurarsi che sia installato (vedi link sopra), e quindi fare clic sul link sotto IIS sezione dell’applicazione che si chiama “le Regole di Autorizzazione”

    Un’altra nota da segnalare, se metti la seguente configurazione:

    <configuration>
      <system.webServer>
        <security>
          <authorization>
            <remove users="*" roles="" verbs="" />
            <add accessType="Deny" users="unknownname" />
            <add accessType="Allow" users="knownname" />
          </authorization>
        </security>
      </system.webServer>
    </configuration>

    Questo causerà a tutti di essere negato. Sembra che se si nega un nome utente o un ruolo che non esiste, OGNUNO è negato. Se il negato l’utente è riconosciuto, quindi funziona benissimo.

    Anche, specificando per negare * e consentire per alcuni utenti non funziona, non si nega per tutti. Avete bisogno di rimuovere semplicemente il * utente (come nel mio esempio sopra), e quindi è consentito solo per il pubblico di destinazione. Tutti gli altri è negato per impostazione predefinita.

    Grazie per aver postato la soluzione!!! Ho sprecato mezza giornata prima ho trovato questo. 🙂
    Nessun problema, contento di aver aiutato qualcuno!
    Ho lo stesso problema, però ho l’Autorizzazione URL installato. Questo è davvero strano…
    La spiegazione di due nomi aiuta…perché MS…perché!

    OriginaleL’autore enforge

  2. 0

    Potrebbe modificare il codice come di seguito

    <deny users="*" />
    <allow users="myusername" />
    Che è quello che mi aveva originariamente, ma non fa alcuna differenza, ho paura.

    OriginaleL’autore maycil

  3. 0

    Ho passato 4 ore a cercare di impostare questa funzione (per usare ruolo di dominio) :). La soluzione finale era quello di utilizzare il nome di dominio nel ruolo troppo:

    `<system.web> 
       <authorization>
         <allow roles="DOMAINNAME\rolename" /> 
         <deny users="*" /> 
       </authorization>
    </system.web>`

    OriginaleL’autore Kraken101

Lascia un commento