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
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
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
Viewers
The roles that may view: every read, the live events and the history.
public List<string> Viewers { get; }