Table of Contents

Class SchedulerRoles

Namespace
Quartz
Assembly
Quartz.AspNetCore.dll

Which of the application's roles are Quartz's operator roles, for RequireSchedulerRoles(AuthorizationPolicyBuilder, Action<SchedulerRoles>). Added in 4.8.

public sealed class SchedulerRoles
Inheritance
SchedulerRoles
Inherited Members

Remarks

A role is the application's: a ClaimsPrincipal.IsInRole answer, whatever issued the claim. A caller in Administrators may do everything, one in Operators may view and operate, and one in Viewers may view. A caller in none of them may do nothing at all, reads included, so a role that should only look is still named here.

Which operation needs which level is the route table's, and Operations moves an operation that changes something to the other level. Triggering a job with job data stays at Administer whatever Operations says about TriggerJob: a stored NativeJob reads the command it runs from its job data.

Properties

Administrators

The roles that may do everything: add, schedule, reschedule, edit and delete, the execution limits, clear, shut down, and trigger now with job data.

public List<string> Administrators { get; }

Property Value

List<string>

Operations

Per-operation overrides of the route table, by the operation's name — AddCalendar, InterruptJob — ignoring case. Empty by default.

public Dictionary<string, SchedulerAccess> Operations { get; }

Property Value

Dictionary<string, SchedulerAccess>

Remarks

Only an operation that changes something may be named, and only at Operate or Administer: a read is every role's, and a change is never a viewer's. A name the HTTP API does not publish is refused when the policy is built, since a misspelt override would otherwise grant or withhold nothing in silence.

Operations["AddCalendar"] = SchedulerAccess.Operate lets operators maintain calendars; Operations["InterruptJob"] = SchedulerAccess.Administer keeps interrupting to administrators.

Operators

The roles that may view and operate: start and stand-by, pause and resume, trigger now without job data, interrupt, reset from the error state and backfill.

public List<string> Operators { get; }

Property Value

List<string>

Viewers

The roles that may view: every read, the live events and the history.

public List<string> Viewers { get; }

Property Value

List<string>