Warum benötigt Hangfire eine Authentifizierung, um das Dashboard anzuzeigen?

8

Ich führe HangFire in meiner MVC-Web-App aus, aber wenn ich versuche, zu Ссылка zu navigieren, werde ich auf die Anmeldeseite meiner App weitergeleitet, als ob ich es wäre bin nicht eingeloggt.

Ich habe keine Anforderungen für die Autorisierung explizit konfiguriert, z. Ich hatte das unten in der web.config, habe es dann aber aus versucht, um das zum laufen zu bringen.

%Vor%

Theoretisch möchte ich das, und wenn ich mich bei meiner Haupt-Webanwendung anmelde, werde ich mit einer Rolle Administrator eingeloggt, damit diese Regel funktioniert.

Aber egal, ob ich das in der web.config konfiguriert habe oder nicht, wenn ich versuche, zu Ссылка zu navigieren, leite ich mich zum Login meiner Apps um Seite wie in der Datei web.config konfiguriert:

%Vor%

Es tut dies nicht auf meinem lokalen Rechner, nur wenn ich es auf meinem Host veröffentliche. Erkennt HangFire nicht den Authentifizierungscookie, den meine Haupt-App bei der Anmeldung bereitstellt? Ich dachte im Allgemeinen, dass die Hangfire App keine Authentifizierung benötigt, also was könnte andere Konfiguration denken, dass es tut?

UPDATE 1:

Ich habe die Autorisierungsfilter für die Hangfire-Dokumentation hinzugefügt, aber das gleiche passiert auch . Hier ist mein Code in Startup.cs:

%Vor%

UPDATE 2:

Pro mehr detaillierte Anweisungen, die grundlegende Authentifizierung zeigen, habe ich auch das versucht ... immer noch kein Glück .. leitet mich zur Anmeldeseite meiner App weiter.

%Vor%     
Chad Richardson 04.04.2015, 01:00
quelle

3 Antworten

17

Bei den neueren Versionen sollten Sie IDashboardAuthorizationFilter verwenden. Mit den using-Anweisungen wird es so aussehen:

%Vor%

dann im Konfigurationsabschnitt:

%Vor%     
Baris 11.08.2016 07:15
quelle
8

Endlich hat es funktioniert. Ich habe meine eigene AuthorizationFilter-Klasse erstellt (siehe unten). Dann übergab ich das an die MapHangfireDashboard-Methode in der Startup.cs-Konfigurationsmethode (siehe unten)

%Vor%

Um Hangfire einer benutzerdefinierten URL zuzuordnen und den zu verwendenden AuthorizationFilter anzugeben:

%Vor%     
Chad Richardson 04.04.2015 23:52
quelle
1

Wie entworfen, glaube ich.
Weitere Informationen finden Sie in den Dokumenten für das Dashboard .

  

Standardmäßig erlaubt Hangfire den Zugriff auf Dashboard-Seiten nur für lokale Anfragen.

Seltsamerweise hatte ich neulich damit zu tun und eine Sache, auf die Sie achten sollten, ist, dass Sie, wenn Sie Autofac Abhängigkeitsinjektion verwenden müssen Sie sicherstellen, dass Sie die Elemente in der richtigen Reihenfolge konfigurieren. Speziell Hangfire nach anderer Authentifizierung, aber in meinem Fall MembershipReboot vorher < > die anderen OAuth-Sachen.
Nahm ein bisschen Versuch und Irrtum.

    
shunty 04.04.2015 16:33
quelle