Skip to content

clsPolicyHeaderSecurityManager

clsPolicyHeaderSecurityManager is the policy-header security helper that determines which association types and association rows a principal may see. It owns the library's process-wide association-type and user-number caches and applies the row-level ownership filters used by the standard header provider.

Purpose

  • Compute the association types available to the current principal.
  • Filter header association rows for policyholder and agent ownership scenarios.

Context

  • Namespace: SAIF.Application.Policy.PolicyHeader
  • Assembly/package: SAIF.Application.Policy

Public members

Member Signature Purpose
GetValidAssociationTypes Shared ReadOnly Property GetValidAssociationTypes(ByVal inDPI As IDataPortalInfo, ByVal inSecurityPrincipal As clsSecurityPrincipal) As IEnumerable(Of IPolicyAssociationType) Returns the association types the principal is authorized to see.
FilterAssociationsByUserType Shared Function FilterAssociationsByUserType(ByVal inAssociations As IEnumerable(Of IPolicyHeaderAssociation), ByVal inSecurityPrincipal As clsSecurityPrincipal) As IEnumerable(Of IPolicyHeaderAssociation) Filters header association rows for policyholder and agent ownership rules.

Behavioral notes

  • The type caches the full association-type list and resolved user numbers in Shared fields.
  • Ownership filtering applies only to policyholders and agents; all other user types keep the incoming rows.

Constraints and usage notes

  • A non-numeric user number raises an exception rather than returning an unfiltered set.

Sources

  • Application\SAIF.Application.Policy\PolicyHeader\clsPolicyHeaderSecurityManager.vb