Pobrałem nu-get pakować Hangfire.Dashboard.Authorization
Hangfire Dashboard Autoryzacja Config Nie działa
próbuję skonfigurować w oparciu o upoważnienie OWIN Zgodnie z docs następująco ale mam INTELLISENSE error DashboardOptions.AuthorizationFilters is obsolete please use Authorization property instead
ja również dostać intellisense błąd The type or namespace AuthorizationFilter and ClaimsBasedAuthorizationFilterd not be found
using Hangfire.Dashboard;
using Hangfire.SqlServer;
using Owin;
using System;
namespace MyApp
{
public class Hangfire
{
public static void ConfigureHangfire(IAppBuilder app)
{
GlobalConfiguration.Configuration
.UseSqlServerStorage(
"ApplicationDbContext",
new SqlServerStorageOptions
{ QueuePollInterval = TimeSpan.FromSeconds(1) });
var options = new DashboardOptions
{
AuthorizationFilters = new[]
{
new AuthorizationFilter { Users = "admin, superuser", Roles = "advanced" },
new ClaimsBasedAuthorizationFilter("name", "value")
}
};
app.UseHangfireDashboard("/hangfire", options);
app.UseHangfireServer();
}
}
}
* AKTUALIZACJA *
Ponieważ powyższa praca Nuget pakiet robi Mam próbowali stworzyć własną niestandardową filtr:
public class HangfireAuthorizationFilter : IAuthorizationFilter
{
public bool Authorize(IDictionary<string, object> owinEnvironment)
{
// In case you need an OWIN context, use the next line,
// `OwinContext` class is the part of the `Microsoft.Owin` package.
var context = new OwinContext(owinEnvironment);
// Allow all authenticated users to see the Dashboard (potentially dangerous).
return context.Authentication.User.Identity.IsAuthenticated;
}
}
Jak mogę ograniczyć się tylko do roli administratora tj jaka jest składnia?
Która wersja HF używasz? Proszę również pokazać obszary nazw zaimportowane w klasie. – Yogi
@Yogi Rdzenie Hangfire to 1.6.1, a Hangfire.Dashborad.Authorization to 2.1.0. Zaktualizowałem post, aby wyświetlać przestrzenie nazw. – adam78