Classify principal roles¶
This operation evaluates the local authorization resources and identity attributes that SAIF.Application.Policy uses to classify a principal into policy-facing role flags.
| Field | Value |
|---|---|
| Operation ID | OP-08 |
| Trigger | First read of Security or any role property |
| Inputs | clsSecurityPrincipal |
| Outputs | Cached role flags such as agent, producer, auditor, demo, and SAIF-employee |
| Primary components | clsPolicySecurity |
| Entry point | Application\SAIF.Application.Policy\clsPolicySecurity.vb |
Steps¶
- Capture the supplied
clsSecurityPrincipalwhen theclsPolicySecurityinstance is created. - For each role property, evaluate the needed
IsAuthorizedcheck once and cache the Boolean result. - Compute agent status as the inclusive combination of
AgencyExternal, producer status, andARPAgencyExternal(BR-126). - Compute SAIF-employee status from the principal's domain name rather than an authorization resource (BR-127).
- Return the cached role flags to downstream consumers such as
PolicyAppManagerand header-security components.
Process flow¶
The following diagram visualizes role classification.
flowchart TD
Start([Role property requested]) --> Check{Cached already?}
Check -->|Yes| Return([Return cached value])
Check -->|No| Eval[Evaluate IsAuthorized or domain check]
Eval --> Cache[Cache Boolean result]
Cache --> Return
Failure and edge-case behavior¶
UWQuoteUseris declared but not consumed by the compiled role properties.*- Role cache lifetime is tied to the
clsPolicySecurityinstance, not to the process as a whole.
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.
Related documentation¶
Sources¶
Application\SAIF.Application.Policy\clsPolicySecurity.vb