ASP.NET ZERO 学习 HangFire的使用
hangfire 是一个分布式后台执行服务。
1.启用 hangfire

2.Hangfire可以提供一个面板页面,实时显示所有后台作业的状态,你可以按它自己的文档描述那样配置,默认情况下,所有用户都可以使用这个面板页面,不需要授权

不考虑安全性质的话,可以直接使用
app.UseHangfireDashboard();
考虑安全因素,hangfire继承了OwinMiddleware,在每次请求的时候会去执行IAuthorizationFilter的实现。结合现有系统权限机制的场合
namespace OBOT.Web
{
public class HangFireAuthorizationFilter : IAuthorizationFilter
{
public bool Authorize(IDictionary<string, object> owinEnvironment)
{
var context = new OwinContext(owinEnvironment);
if (context.Authentication.User.Identity.Name != Authorization.Users.User.AdminUserName) { return false; }
return context.Authentication.User.Identity.IsAuthenticated;
}
}
}
配置完毕
当然新版本ABP已经有了解决方案:
你可以用定义在Abp.HangFire包里的AbphangfireAuthorizationFilter类,把它集成到ABP的授权系统里。配置示例:
app.UseHangfireDashboard("/hangfire", new DashboardOptions
{
Authorization = new[] { new AbpHangfireAuthorizationFilter() }
});
如果用户已经登录到应用,就会使用这个进行检查,如果你需要一个额外的许可,你可以把许可传入它的构造器:
app.UseHangfireDashboard("/hangfire", new DashboardOptions
{
Authorization = new[] { new AbpHangfireAuthorizationFilter("MyHangFireDashboardPermissionName") }
});
注意:UsehangifreDashboard应该在你的Startup类里的授权中间件运行后调用(可能是在最后一行)。否则,授权会一直失败。
可参考官网:http://www.aspnetboilerplate.com/Pages/Documents/Hangfire-Integration
其他参考
参考:http://docs.hangfire.io/en/latest/configuration/using-dashboard.html#configuring-authorization
参考:http://docs.hangfire.io/en/latest/
效果

ASP.NET ZERO 学习 HangFire的使用的更多相关文章
- ASP.NET ZERO 学习 HangFire的使用二
之前在ABP配置好了HangFire环境之后,那么如何才能添加Job到HangFire中让其执行呢 这就需要参考ABP的Background Jobs and Workers, 参考路径:http:/ ...
- ASP.NET从零开始学习EF的增删改查
ASP.NET从零开始学习EF的增删改查 最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...
- ASP.NET MVC学习之Ajax(完结)
一.前言 通过上面的一番学习,大家一定收获不少.但是总归会有一个结束的时候,但是这个结束也意味着新的开始. 如果你是从事ASP.NET开发,并且也使用了第三方控件,那么一定会觉得ASP.NET开发aj ...
- ASP.NET MVC学习之视图篇(2)
继ASP.NET MVC学习之视图(1)学习 4.HTML辅助器 虽然在ASP.NET MVC中我们已经摆脱了ASP.NET的控件,但是对于页面中需要循环标签的情况依然还是存在,可能很多人认为用for ...
- ASP.NET MVC学习之过滤器篇(2)
下面我们继续之前的ASP.NET MVC学习之过滤器篇(1)进行学习. 3.动作过滤器 顾名思义,这个过滤器就是在动作方法调用前与调用后响应的.我们可以在调用前更改实际调用的动作,也可以在动作调用完成 ...
- ASP.NET MVC学习之控制器篇
一.前言 许久之后终于可以继续我的ASP.NET MVC连载了,之前我们全面的讲述了路由相关的知识,下面我们将开始控制器和动作的讲解. ASP.NET MVC学习之路由篇幅(1) ASP.NET MV ...
- ASP.NET MVC学习系列(二)-WebAPI请求
继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用Jquery 来发起异步请求实现 ...
- [ASP.NET MVC] ASP.NET Identity学习笔记 - 原始码下载、ID型别差异
[ASP.NET MVC] ASP.NET Identity学习笔记 - 原始码下载.ID型别差异 原始码下载 ASP.NET Identity是微软所贡献的开源项目,用来提供ASP.NET的验证.授 ...
- ASP.NET MVC学习系列(二)-WebAPI请求(转)
转自:http://www.cnblogs.com/babycool/p/3922738.html 继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的g ...
随机推荐
- hibernate中的cascade和inverse
以Student和class为例,一个Student对应一个class,一个class对应多个Student. Student.hbm.xml <?xml version="1.0&q ...
- 新手上路,配置阿里云CentOS服务器LAMP
最近出了个9.9包月的阿里云一直想弄就买了个半年的,脑子一热选了个CentOS系统的然后就是无尽的代码...... 话不多说直接上步骤: 在实例中选择"连接管理终端",输入一些应 ...
- 织梦系统“当前位置”{dede:field.position}的修改方法
dedecms中修改当前位置{dede:field.position},就是只要首页>一级栏目>二级栏目这样.找到include/typelink.class.php,找到这个文件里的这个 ...
- Linux:添加永久路由
没有以下文件时,可创建 vim /etc/sysconfig/network-scripts/route-eth0添加如下信息:192.168.142.100/32 via 192.168.142.1 ...
- Opencv配置问题_Error LNK2019
终于配好opencv(Win7 64位+VS2013+opencv2.4.9),兴奋的写了第一个程序(当然是显示lena的玉照了): #include <opencv2\opencv.hpp&g ...
- Docker学习过程中遇到的问题及解决方法
1.重新安装Docker后,运行不起来 [root@zyt-test-14-53 ~]# docker infoCannot connect to the Docker daemon. Is the ...
- SQL超过锁请求
---超过锁请求 http://blog.sina.com.cn/s/blog_7fb3b1840100u4dj.html 1.查询造成死锁的SQL语句 当SQL数据库的监控报警显示死锁进程数过多时, ...
- 这是个简单的UTF8转码的小Demo
NSString *name = @"你好啊"; NSString *string = [NSString stringWithFormat:@"%@",nam ...
- win10 剪贴板 拒绝访问
win10 Cannot open clipboard:拒绝访问.
- Generate transparent shape on image
Here is an example code to generate transparent shape on image. Need to pay attention can not use cv ...