Ich versuche, einen anonymen Controller zu erstellen, um Formularauthentifizierung zu erreichen. Ich konfigurierte meinen IIS 7 mit anonymer Authentifizierung und Formularauthentifizierung aktiviert und setzte meine web.config zu deny anonyme Benutzer. Auf dem Login-Controller habe ich die [AllowAnonymous] -Dekoration auf meinen Controller (und meine Aktionen) gesetzt.Formulare Authentifizierung und Autorisierung MVC 4
Die einzige Aktion, die ich bei dieser Konfiguration bekommen kann, ist die Login-Aktion (die die "Login" -Ansicht zurückgibt), und ich nehme an, dass der MVC mir diese Aktion erlaubt, weil ich ihn als Login eingestellt habe URL in meiner web.config.
Hier ist meine Web-Config-Konfiguration:
<authentication mode="Forms">
<forms loginUrl="~/Login/Login" timeout="2880" />
</authentication>
Alle anderen Aktionen auf die Login-Aktion umgeleitet werden. Bei dieser Konfiguration kann ich keine anderen wichtigen Aktionen wie Passwort wiederherstellen, Registrierung usw. durchführen.
Was mache ich falsch?
Sie können nicht global leugnen - pasword Wiederherstellung oder Registrierung muss anonym zugegriffen werden. –
Was muss ich ändern? Wenn ich anonymen Zugriff zulasse, ist die gesamte Site zugänglich und MVC leitet den nicht authentifizierten Benutzer nicht zur Anmeldeaktion um. – Shahar
Siehe meine Antwort .. –