|
|
|
@ -79,3 +79,31 @@ After you have installed these NuGet packages, you need to configure your projec |
|
|
|
|
|
|
|
} |
|
|
|
```` |
|
|
|
|
|
|
|
### Dashboard Authorization |
|
|
|
|
|
|
|
Hangfire can show a **dashboard page** so you can see the status of all background |
|
|
|
jobs in real time. You can configure it as described in its |
|
|
|
[documentation](http://docs.hangfire.io/en/latest/configuration/using-dashboard.html). |
|
|
|
By default, this dashboard page is available for all users, and is not |
|
|
|
authorized. You can integrate it in to ABP's [authorization |
|
|
|
system](Authorization.md) using the **AbpHangfireAuthorizationFilter** |
|
|
|
class defined in the Abp.HangFire package. Example configuration: |
|
|
|
|
|
|
|
app.UseHangfireDashboard("/hangfire", new DashboardOptions |
|
|
|
{ |
|
|
|
AsyncAuthorization = new[] { new AbpHangfireAuthorizationFilter() } |
|
|
|
}); |
|
|
|
|
|
|
|
This checks if the current user has logged in to the application. If you |
|
|
|
want to require an additional permission, you can pass into its |
|
|
|
constructor: |
|
|
|
|
|
|
|
app.UseHangfireDashboard("/hangfire", new DashboardOptions |
|
|
|
{ |
|
|
|
AsyncAuthorization = new[] { new AbpHangfireAuthorizationFilter("MyHangFireDashboardPermissionName") } |
|
|
|
}); |
|
|
|
|
|
|
|
**Note**: UseHangfireDashboard should be called after the authentication |
|
|
|
middleware in your Startup class (probably as the last line). Otherwise, |
|
|
|
authorization will always fail. |
|
|
|
|