Ich habe die Notwendigkeit, einen gesamten Ordner von statischen HTML-Dateien zu sichern. Die Absicht ist, dass ein Benutzer nicht auf diese Dateien zugreifen kann, wenn sie nicht authentifiziert sind und die notwendige Rolle haben.Autorisierung für statische Dateien in ASP.NET MVC w/Owin
Wir haben Cookie-basierte Authentifizierung eingerichtet mit OWIN, aber egal was ich versuche, ich kann nicht scheinen, die richtige Kombination von Änderungen zu erkennen, um Authentifizierung für den Ordner zu machen.
Das erste Problem ist, dass IIS ASP.NET komplett überspringt und nur die Dateien bereitstellt. Ich denke, es gibt wahrscheinlich einen Weg um runAllManagedModulesForAllRequests auf true zu setzen. Aber wohin gehe ich von dort?
Ich habe versucht, Elemente in der Web.config zu stopfen, um die richtigen Rollen zu erfordern, aber es führt nur dazu, dass JEDE Anfrage verweigert wird (vermutlich, weil es nicht den richtigen Cookie oder etwas untersucht).
Ich habe meinen ganzen Tag damit verbracht und ich bin dabei, meinen Verstand zu verlieren.
Hat jemand dieses Problem gelöst?
Erstellen Sie eine Klasse, die 'IHttpHandler' implementiert und legen Sie Ihre Sicherheit dort. Siehe http://stackoverflow.com/q/1146652 –
In diesem Szenario würde ich meine Rolle-Überprüfung und solche in den RouteHandler setzen? Ich bin nicht positiv, aber das scheint nicht der richtige Ort für so etwas zu sein. –
Dann dienen Sie die Datei von einer Standard-Controller-Methode. So würde ich es wahrscheinlich machen. Sie können das mit der von Ihnen gewünschten Sicherheit laden, und die MVC-Götter würden zufrieden sein. –