Ich habe ein Webprojekt in ASP.NET übergeben. Es enthält einen Content
Ordner mit einer index.html
Datei. Im Moment können Leute zu mysite.com/content/index.html
gehen. Es gab keine MVC-Controller in diesem Projekt (ich habe es nicht selbst gemacht).Formularauthentifizierung für Ordner funktioniert nicht
Ich möchte nicht, dass Leute direkt auf die HTML-Seite gehen. Ich habe eine Anmeldeseite im Stammverzeichnis meiner Site (also mysite.com
), also möchte ich Benutzer dorthin umleiten, wenn sie nicht eingeloggt sind. Ich habe meinen eigenen HomeController mit einer Indexmethode erstellt. Ich habe ASP.NET Identity eingerichtet, um alle Anfragen an diese Methode zu autorisieren. Ich möchte die Formularauthentifizierung einrichten, um alle nicht autorisierten Anfragen an den Inhalt-Ordner und seinen Inhalt an/Home/Index (oder einfach die Website root /) umzuleiten.
ich mehr Antworten auf dieser Seite und an anderer Stelle gefunden haben, die ziemlich ähnlich sind: Im Web.config der Wurzel der Website, ich habe diesen Code:
<configuration>
<location path="~/Content">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
<!-- some other nodes -->
<system.web>
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="/" />
</authentication>
</system.web>
</configuration>
Aber dies nicht funktioniert, Wenn ich zu mysite.com/content/index.html
gehe, werde ich nicht zu mysite.com
umgeleitet. Ich habe auch versucht, diese in verschiedenen web.config-Dateien zu teilen, wie in this Antwort beschrieben. Was mache ich falsch?
Arbeitete für mich! Vielen Dank, viele Antworten haben diesen Teil nicht erwähnt. – ohyeah