Hangfire实战二——为DashBoard页面添加权限认证
概述
Hangfire Dashboard为我们提供了可视化的对后台任务进行管理的界面,我们可以直接在这个页面上对定时任务进行删除、立即执行等操作,如下图所示:
引用安装
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实现简单的任务调度
最新文章
- 在docker 中配置hadoop1.2.1 cluser
- sql学习
- C语言 自动修改文件名小程序
- (:: operator)作用域限定符的几种使用
- NYOJ题目845无主之地1
- Java基础必备 -- 堆栈、引用传值、垃圾回收等
- 『GreenPlum系列』GreenPlum 4节点集群安装(图文教程)
- Word Pattern | &; II
- Hibernate级联删除时:Cannot delete or update a parent row: a foreign key constraint fails异常
- 排序算法之直接插入排序(java实现)
- 使用开源库PhotoView
- [转] JSON for java入门总结
- mvc图片地址
- SQL函数学习(三):convert()函数
- js继承之组合继承(结合原型链继承 和 借用构造函数继承)
- es过滤集提升权重
- python垃圾回收机制与小整数池
- Linux基础命令---dmeg显示内核输出
- JSP、EL、JSTL
- AAD Service Principal获取azure user list (Microsoft Graph API)