Frage

Ich habe ein superfaches Authentifizierungsattribut, das ich in einer ASP.NET-MVC-5-Anwendung implementieren möchte, und ich habe Probleme. Ich möchte, dass das Attribut global angewendet werden soll, mit Ausnahme bestimmter Aktionen innerhalb eines Controllers (z. B. das Anmeldeformular und die Startseite).

Ich habe versucht, die Aktion mit dem generationspflichtigen Attribut generakodicetagcode ohne Glück zu dekorieren. Es gibt mir einen Redirect-Schleifenfehler, da die Anwendung immer noch die Authentifizierung auf dem Login-Formular ausgeführt wird, und versucht immer, wieder in das Anmeldeformular umzuleiten.

Hat jemand anderes dieses Verhalten gesehen? Jede Idee, was ich hier gestopft habe?

Zum Beispiel habe ich einen super einfachen Filter erstellt, der derzeit nicht eingebettelt ist:

generasacodicetagpre.

Wenn ich meinen Controller / Action so dekoriere:

generasacodicetagpre.

Ich erhalte eine nicht implementierte Ausnahme, wenn ich zu der Anmeldeaktion navigiere, obwohl diese Aktion nicht den Authentifizierungscode ausführen sollte. Ich habe mich missverstanden, wie Überschreibungen arbeiten sollen?

War es hilfreich?

Lösung

Ich denke, Sie haben verwirrte Authentifizierung mit der Autorisierung (so viele Personen).Es ist nicht sinnvoll, ein [BasicauthenticationAttribute] zu erstellen und es global zu registrieren, da die Authentifizierung nur beim Anmelden passiert, nicht auf jeder Anfrage.

Autorisierung erfolgt, nachdem der Benutzer angemeldet ist, um zu prüfen, ob der Benutzer die erforderlichen Berechtigungen hat, um eine bestimmte Aktion durchzuführen, und es ist sinnvoll, weltweit eine Genehmigung zu erheben.Die Autorisierung in MVC wird vom [Authorizerattribute] behandelt, und Sie können es erben, wenn Sie die Erstellung der Berechtigungsprüfung anpassen müssen.Sie können es auch als globaler Filter registrieren.

Der [Erlaubnanonymousattribute] funktioniert in Verbindung mit [Authorizerattribute] und tut es im Wesentlichen darauf hin, die Berechtigungsprüfung zu überspringen.Es sei auch darauf hingewiesen, dass der [Erlaubnanonymattribute] keinen Effekt hat, es sei denn, es wird mit dem [Authorizerattribute] verwendet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top