概述

Hangfire Dashboard为我们提供了可视化的对后台任务进行管理的界面,我们可以直接在这个页面上对定时任务进行删除、立即执行等操作,如下图所示:


默认情况下,这个页面只能在部署Hangfire的机器上进行访问,想要在其他地方进行访问,需要配置权限认证模块:Hangfire.Dashboard.Authorization。

引用安装

1、项目地址:https://github.com/HangfireIO/Hangfire.Dashboard.Authorization

2、在已经安装Hangfire基本组件的项目中,通过Nuget程序包管理器添加Hangfire.Dashboard.Authorizaiton或Nuget控制台添加。通过Nuget程序包管理控制台安装的命令:

  • Install-Package Hangfire.Dashboard.Authorization

使用

在Startup.cs中的Configuration方法中添加以下代码:

在代码中的Login和Password后面写登录的用户名和密码,这样在下次打开Hangfire的Dashboard时,就会弹出需要输入用户名和密码的窗口了,输入之后就可了打开Dashboard了

var filter = new BasicAuthAuthorizationFilter(

new BasicAuthAuthorizationFilterOptions

{

SslRedirect = false,

// Require secure connection for dashboard

RequireSsl = false,

// Case sensitive login checking

LoginCaseSensitive = false,

// Users

Users = new[]

{

//new BasicAuthAuthorizationUser

//{

//    Login = "Administrator-1",

//    // Password as plain text

//    PasswordClear = "test"

//},

new BasicAuthAuthorizationUser

{

Login = "×××",//用户名

// Password as SHA1 hash

Password = new byte[]{ 0x54, ..., 0xa8 }//密码

}

}

});

var options = new DashboardOptions

{

AuthorizationFilters = new[] {

filter

}

};

app.UseHangfireDashboard("/TaskManager", options); //可以改变Dashboard的url

登录密码的生成

string password = "<your password here>";

using (var cryptoProvider = System.Security.Cryptography.SHA1.Create())

{

byte[] passwordHash = cryptoProvider.ComputeHash(Encoding.UTF8.GetBytes(password));

string result = "new byte[] { " +

String.Join(",", passwordHash.Select(x => "0x" + x.ToString("x2")).ToArray())

+ " } ";

}

Reference:

[1]https://github.com/HangfireIO/Hangfire.Dashboard.Authorization

[2]https://www.cnblogs.com/ecin/p/6201262.html

[3]https://www.cnblogs.com/lightmao/archive/2017/07/29/7254197.html Hangfire实战(一)------Hangfire+SQL Server实现简单的任务调度

最新文章

  1. 在docker 中配置hadoop1.2.1 cluser
  2. sql学习
  3. C语言 自动修改文件名小程序
  4. (:: operator)作用域限定符的几种使用
  5. NYOJ题目845无主之地1
  6. Java基础必备 -- 堆栈、引用传值、垃圾回收等
  7. 『GreenPlum系列』GreenPlum 4节点集群安装(图文教程)
  8. Word Pattern | &amp; II
  9. Hibernate级联删除时:Cannot delete or update a parent row: a foreign key constraint fails异常
  10. 排序算法之直接插入排序(java实现)
  11. 使用开源库PhotoView
  12. [转] JSON for java入门总结
  13. mvc图片地址
  14. SQL函数学习(三):convert()函数
  15. js继承之组合继承(结合原型链继承 和 借用构造函数继承)
  16. es过滤集提升权重
  17. python垃圾回收机制与小整数池
  18. Linux基础命令---dmeg显示内核输出
  19. JSP、EL、JSTL
  20. AAD Service Principal获取azure user list (Microsoft Graph API)

热门文章

  1. Selenium和ChromeDriver的安装与配置
  2. (一)Log4j使用
  3. filter()函数过滤序列
  4. 一时技痒,撸了个动态线程池,源码放Github了
  5. vc++,MfC ,cstring与char相互转换知识
  6. JVM生命周期与运行过程
  7. Dubbo的使用及原理
  8. 【C++和C#的区别杂谈】后自增运算符的结算时机
  9. bugku社工writeup
  10. SQL运行内幕:从执行原理看调优的本质