2014-01-15 2 views
5

Ich versuche, Windows-Authentifizierung für meine Anwendung zu verwenden, für die Prüfung habe ich versucht, nur mir erlaubt und verweigern alle übrigenWindows-Authentifizierung können Benutzer nicht funktioniert

<authentication mode="Windows" /> 
<authorization> 
    <allow users="DomainName\nogariyap" /> 
    <deny users="*"/> 
</authorization> 

Aber es gibt mir „Access Denied“ Fehler selbst ich bin mit dem gleichen Benutzer auf meinem Rechner angemeldet "DomainName\nogariyap"

Als ich es auf diese es

<allow users="*" /> 

ändern arbeitet

Ich weiß nicht, warum es nicht für bestimmte Windows-Benutzer funktioniert?

bearbeiten

Es funktionierte eigenartiges, wenn ich das

<security> 
     <authentication> 
      <windowsAuthentication enabled="true" /> 
      <anonymousAuthentication enabled="false" /> 
     </authentication> 
     <authorization> 
      <remove users="*" roles="" verbs="" /> 
      <add users="DomainName\nogariyap" accessType="Allow"/> 
      <add users="?" accessType="Deny"/> 
     </authorization> 
    </security> 

in system.webServer hinzugefügt Aber ich weiß nicht, warum es in diese nicht in system.web und was sind die Unterschiede mit den Einstellungen arbeiten zwei Einstellungen?

Antwort

2

<system.web> ist die Projektkonfiguration und <system.webserver> ist die Serverkonfiguration. Beide sollten kompatibel sein, aber die Empfehlung scheint die Serverkonfiguration gegenüber der anderen zu verwenden. Es wurde auf IIS7 vorgestellt. Einige der Unterschiede zwischen den beiden sind:

  • In system.webServer der Reihenfolge:
    • Deny Regeln beginnend zuerst bei der Mutter ausgewertet erhalten
    • Regeln bei der Mutter Start zulassen.
    • Reihenfolge in Regelsammlung

  • In system.web die Reihenfolge:
    • Untere Ebene ersten
    • Reihenfolge der Erscheinung der Mutter steigt in Regelsammlung

  • In Webserver Sie Regeln auf jedes Element anwenden können, was bedeutet: Bilder, Dokumente ohne weitere Konfiguration (Hinzufügen Zuordnung zwischen jeder Erweiterung möchten Sie einen Handler)
0

im ersten Versuch Sie haben user = "*" abgelehnt, was bedeutet, dass alle abgelehnt werden. Im zweiten Versuch hatten Sie die Benutzer verweigern = "?" bedeutet unbekannte Benutzer (nicht angemeldet).