ASP.NET Genehmigung erbt Regeln
Ich versuche zu schützen, die in (sub -) Verzeichnis, in meinem ASP.NET die Webseite enthält Dateien (Videos, Dokumente, usw.) So habe ich eine Web.config-Datei:
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<deny users="?"/>
<allow roles="Administrator"/>
<allow roles="Author"/>
<allow roles="Report"/>
</authorization>
</system.web>
</configuration>
Diese Rollen entsprechen, mit denen definiert, die in der asp.net der Rollen-Tabelle in meiner Datenbank.
Öffnete ich IIS7 um zu überprüfen, ob die Autorisierung Regeln waren da, und Sie waren. Aber es gab auch 2 übernommenen Regeln festgelegt werden, nach der "alle Benutzer". Diese Regeln scheinen zu überschreiben, meine Regeln im de-Web.config. Ich kann nicht löschen Sie diese geerbt Regeln.
Gibt es eine Möglichkeit zu deaktivieren diese geerbte Berechtigung Regeln, nur für meine Unterordner?
Vielen Dank im Voraus!
Sie haben wahrscheinlich dachte, dies aus, indem jetzt, aber auch wenn Sie eine vererbte Allow-Regel, es kann immer wieder überschrieben werden, mit einer Deny-Regel in einem untergeordneten Verzeichnis. Überprüfen Sie heraus meine Antwort für details.
InformationsquelleAutor Wessel T. | 2011-06-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im web.in der config von deinem root-Verzeichnis, versuchen Sie folgenden
ok, ich dachte, das könnte helfen
InformationsquelleAutor Nitin Sawant
Versuchen, entfernen Sie Sie aus ASP.NET -Konfiguration. Öffnen Sie es mit dem kleinen Symbol in der rechten Ecke der Projektmappen-Explorer (oder Projekt\Website->ASP.NET -Konfiguration).
In ASP.NET Konfiguration nutzen, Sicherheit -> Access-Regeln -> Verwalten von Regeln für den Zugang zu den entsprechenden Ordner.
Setzen Deny-All-Regel genau, bevor Sie die default-Allow-All-Regel.
Die Deny-All das, bevor Alle Zulassen ist Sie die einzige route, die für mich gearbeitet. Auch das entfernen der Regel aus der Website auf oberster Ebene nicht die Regel vererbt.
InformationsquelleAutor Kirill
T
Ja, Sie können fügen Sie diese Berechtigungen werden durch den IIS-Manager .NET Autorisierungsregeln, wie Sie erwähnt haben, oder im Web.Config-Datei. Behalten Sie jedoch im Hinterkopf, dass Sie MÜSSEN hinzufügen, die "Erlauben" Regeln, bevor Sie die "Deny" - Regeln, da Verweigern überschreibt immer an der gleichen Ordner-Ebene. Die Rangfolge ist:
Wenn Sie eine Lokale Deny-Regel vorhanden ist, bevor alle anderen Lokalen Regeln Erlauben in der gleichen Ordner-Ebene, keiner von den Allow-Regeln angewendet werden. Zum Beispiel, wenn ich einen übergeordneten Ordner
Sales
mit untergeordneten OrdnerManagement
,Customers
, undSalesTeam
und ich definieren eine Deny-Regel fürSales
, dann werden alle Benutzer/Rollen müssen explizit zugelassen werden in den untergeordneten Verzeichnissen. Sagen ich habe auch Rollen matching jeder dieser Ordner würde ich definieren eine Allow-Regel für jeden von Ihnen in die entsprechenden Ordner, indem Sie Ihnen den Zugang zu den Inhalten/Seiten darin.Ich hoffe, Sie finden diese nützlich. Ich weiß, es ist eine alte Frage. Cheers 😉
InformationsquelleAutor Chiramisu