Si encuentras alguna parte que no comprendes puedes dejarnos un comentario y haremos todo lo necesario de ayudarte tan rápido como podamos.
Solución:
Con las versiones más nuevas deberías usar IDashboardAuthorizationFilter
. Con las instrucciones de uso, se verá así:
using System.Web;
using Hangfire.Annotations;
using Hangfire.Dashboard;
namespace Scheduler.Hangfire
public class HangFireAuthorizationFilter : IDashboardAuthorizationFilter
public bool Authorize([NotNull] DashboardContext context)
//can add some more logic here...
return HttpContext.Current.User.Identity.IsAuthenticated;
//Can use this for NetCore
return context.GetHttpContext().User.Identity.IsAuthenticated;
luego en la sección de configuración:
app.UseHangfireDashboard("/jobs", new DashboardOptions()
Authorization = new [] new HangFireAuthorizationFilter()
);
Finalmente lo hice funcionar. Creé mi propia clase AuthorizationFilter (ver más abajo). Luego pasé eso al método MapHangfireDashboard en el método de configuración de Startup.cs (ver más abajo)
public class HangFireAuthorizationFilter : IAuthorizationFilter
public bool Authorize(IDictionary owinEnvironment)
bool boolAuthorizeCurrentUserToAccessHangFireDashboard = false;
if (HttpContext.Current.User.Identity.IsAuthenticated)
if(HttpContext.Current.User.IsInRole("Account Administrator"))
boolAuthorizeCurrentUserToAccessHangFireDashboard = true;
return boolAuthorizeCurrentUserToAccessHangFireDashboard;
Para asignar hangfire a una URL personalizada y especificar AuthorizationFilter para usar:
public void Configuration(IAppBuilder app)
//Get from web.config to determine to fire up hangfire scheduler or not
app.UseHangfire(config =>
config.UseSqlServerStorage("DefaultConnection");
config.UseServer();
);
//map hangfire to a url and specify the authorization filter to use to allow access
app.MapHangfireDashboard("/Admin/jobs", new[] new HangFireAuthorizationFilter() );
Valoraciones y comentarios
Tienes la opción de añadir valor a nuestro contenido asistiendo con tu experiencia en las aclaraciones.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)