Skip to content

SAIF.Application.Claim security and authorization

This page documents the authorization patterns implemented by SAIF.Application.Claim.

Authorization architecture

Claim authorization is evaluated locally through ClaimUserAccess, ClaimSecurity, and the base application manager before application-specific retrieval continues.

flowchart TD
    Caller[Calling code] --> AppMgr[ClaimAppManager]
    AppMgr --> Access[ClaimUserAccess]
    AppMgr --> Security[ClaimSecurity]
    Security --> Claim[Claim data]
    AppMgr --> Override[ClaimServices override check]

AD resource catalog

Resource name Purpose Enforcement point Source
SecureClaim Determines access to hostile or secure claims. ClaimUserAccess.SecureClaimAccess Application\SAIF.Application.Claim\ClaimUserAccess.vb
ConflictClaim Determines access to worker-conflict claims. ClaimUserAccess.ConflictAccess Application\SAIF.Application.Claim\ClaimUserAccess.vb
ExposureClaim Determines access to exposure claims. ClaimUserAccess.ExposureAccess Application\SAIF.Application.Claim\ClaimUserAccess.vb
CollateralHealthClaim Defines the named health-issue resource exposed by ClaimUserAccess. ClaimUserAccess.HealthIssueAccess Application\SAIF.Application.Claim\ClaimUserAccess.vb

Authorization enforcement points

Programmatic authorization checks

Class Method Resource / Role Check type Source
ClaimUserAccess SecureClaimAccess SecureClaim HasAccess Application\SAIF.Application.Claim\ClaimUserAccess.vb
ClaimUserAccess ConflictAccess ConflictClaim HasAccess Application\SAIF.Application.Claim\ClaimUserAccess.vb
ClaimUserAccess ExposureAccess ExposureClaim HasAccess Application\SAIF.Application.Claim\ClaimUserAccess.vb
ClaimUserAccess HealthIssueAccess CollateralHealthClaim HasAccess Application\SAIF.Application.Claim\ClaimUserAccess.vb
ClaimUserAccess New(clsSecurityPrincipal, ParamArray AccessRights()) Caller-supplied resource names CheckAccess Application\SAIF.Application.Claim\ClaimUserAccess.vb
ClaimSecurity CheckClaim(clsClaimData) ConflictClaim, ExposureClaim, SecureClaim Composite claim-scope evaluation Application\SAIF.Application.Claim\ClaimSecurity.vb
ClaimAppManager CheckForSecurityOverride() Claim-specific override ClaimServices.HasOverrideAcess Application\SAIF.Application.Claim\ClaimAppManager.vb

Data-level authorization

Entity type Validation method Mechanism Source
Claim ClaimSecurity.CheckClaim(clsClaimData) Evaluates claim flags (IsWorkerConflict, IsExposure, IsHealthIssue, IsHostileWorker) against the current user's cached AD-resource access to derive per-claim access outcomes. Application\SAIF.Application.Claim\ClaimSecurity.vb
Claim override ClaimAppManager.CheckForSecurityOverride() → ClaimServices.HasOverrideAcess(...) Runs the SQL-backed exception check against CL_SECURITY_OVERRIDE joined to ADP_VIRTUAL_EMPLOYEE_VIEW, filtered by ClaimID, USER_ID, and effective date range. Application\SAIF.Application.Claim\ClaimAppManager.vb; Business\SAIF.Business\ClaimServices.vb

Security interfaces and contracts

Interface / Class Role Consumers Source
ClaimUserAccess Wraps claim-domain AD-resource checks. ClaimSecurity, consuming application managers Application\SAIF.Application.Claim\ClaimUserAccess.vb
ClaimSecurity Computes claim-specific access outcomes. ClaimAppManager Application\SAIF.Application.Claim\ClaimSecurity.vb

Inherited security

From UserAccess (SAIF.Application)

Field Value
Mechanism ClaimUserAccess inherits UserAccess.HasAccess, which caches per-resource decisions and delegates uncached checks to clsSecurityPrincipal.IsAuthorized.
Enforcement Claim-specific properties wrap HasAccess for the four claim-domain resource names.
Origin SAIF.Application — UserAccess
Source Application\SAIF.Application.Claim\ClaimUserAccess.vb; Application\SAIF.Application\UserAccess.vb

Notes

  • AD resource names are documented without environment suffixes.

Sources

  • Application\SAIF.Application.Claim\ClaimAppManager.vb
  • Application\SAIF.Application.Claim\ClaimSecurity.vb
  • Application\SAIF.Application.Claim\ClaimUserAccess.vb
  • Application\SAIF.Application\UserAccess.vb
  • Business\SAIF.Business\ClaimServices.vb