Frage

Ich bin Millionen Mal durch meinen Code getreten und kann kein Problem mit meiner Implementierung finden ..

In benutzerdefinierten Autorisierungsträger habe ich 2 Methoden überschrieben

generasacodicetagpre.

Die Autorisierungslogik wird gespottet, um nur auf bestimmte Controller falsch zurückzugeben, und ich habe dies durchgetreten, um sicherzustellen, dass er korrekt funktioniert.

Der oberste Code verursacht unendliche Schleife.In meinem Protokoll kann ich sehen, dass die Linie 666-mal getroffen hat (Zufall?) ..

Wenn ich Call base.HandleunAuthorizedRequest (CTX) tue, ist alles eine leere Seite.Also spiegelte ich nach, was der Base tut, und das ist das

generasacodicetagpre.

Das erklärt, warum es eine leere Seite macht, anstatt um die Umleitung auf nicht authorisierte.cshtml zu leiten.Ich bin mir nicht sicher, warum geht es in eine unendliche Schleife, wenn ich nicht die Basis anrufe.

p.s.

Ich habe bestätigt, dass, wenn ich die falsche unbefugte Ansicht einfüge, error out (aber immer noch unbestimmt hängt)

generasacodicetagpre.

War es hilfreich?

Lösung

Hier ist die Implementierung, mit der ich endete, und es funktioniert sehr gut.

generasacodicetagpre.

Andere Tipps

Die Standardeinführung von AuthorizEattribute legt die Antwort auf den Action-Kontext fest, indem er nicht in die Basis anruft, die Antwort wird niemals eingestellt, wodurch der Filter den Autorisierungsprozess wiederholt, bis eine Antwort eingestellt ist (daher die unendliche Schleife).

Sie können diese Logik in der autorisierungsfilterattribute -Klasse sehen, von der autorizeattribute ableitet.

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