Ich habe eine benutzerdefinierte AuthorizeAttribute
geschrieben, die die folgende Bedingung in asp.net mvc3-Anwendung hat:
Und in meiner web.config habe ich:
%Vor%Bei fehlgeschlagener Authentifizierung wird standardmäßig auf die Seite "/ Konto / Login" umgeleitet.
Wie ändere ich diese Standard-Weiterleitungs-URL und leite sie auf "/ User / SignIn" um?
Der Screenshot zeigt die klare Sicht dessen, was ich zu sagen versuche.
Obwohl ich '/ User / SignIn' eingestellt habe, wird es auf '/ Account / Login'
umgeleitetIch bin mir nicht sicher, ob ich das als Antwort hinzufügen kann. Aber das kann anderen helfen, die dieses Problem hatten.
Ich habe die Lösung nach einem Kampf gefunden. Ich habe kürzlich WebMatrix.WebData-Referenz hinzugefügt, die der eigentliche Schuldige dieses Problems scheint. Dies kann durch Hinzufügen des Schlüssels zu Ihrer Konfigurationsdatei behandelt werden:
%Vor%Sie sollten die Root-Adresse für loginUrl ändern.
Ich habe AuthorizationAttribute erstellt ... es leitet richtig um z.B.
%Vor%und mein Attribut ist:
%Vor%und wenden Sie das Attribut bei Bedarf auf jede Methode Ihres Controllers an ...
%Vor%Ich hatte dieses Problem kürzlich und fand es, weil ich die WebMatrix.dll in meinem Projekt referenziert hatte.
Durch das Entfernen dieser DLL wurde das Problem behoben
siehe hier Was ist der PreserveLoginUrl-AppSetting-Schlüssel? / value in einer ASP.NET MVC-Anwendung?
Tags und Links asp.net-mvc authentication custom-attributes forms-authentication