Skip to content

ClaimUserSecurityAccess

A small value type that pre-resolves whether a given ISystemUserProfile holds conflict-claim and secure-claim authorization, so that access can be checked repeatedly (e.g. across many claims) without re-querying the user profile each time. It depends only on the ISystemUserProfile supplied at construction, checking it against either the fixed "ConflictClaim"/"SecureClaim" role names or caller-supplied resource names.

Purpose

  • Captures, at construction time, whether a user is authorized for conflict-claim access and secure-claim access.
  • Supports checking authorization against either the standard ConflictClaim/SecureClaim role names or arbitrary caller-specified resource names.

Context

  • Namespace: SAIF.Services.Security
  • Assembly/package: SAIF.Services (packaged inside the SAIF.SAIFCode.Core NuGet package)

Public members

Member Signature Purpose
HasConflict public bool HasConflict { get; set; } Whether the resolved user is authorized for conflict-claim access.
HasSecure public bool HasSecure { get; set; } Whether the resolved user is authorized for secure-claim access.
ClaimUserSecurityAccess(userProfile) public ClaimUserSecurityAccess(ISystemUserProfile userProfile) Enforces that userProfile is non-null and sets HasConflict/HasSecure by checking it against the standard ClaimSecurityRoles.ConflictClaim/ClaimSecurityRoles.SecureClaim role names.
ClaimUserSecurityAccess(userProfile, conflictResource, secureResource) public ClaimUserSecurityAccess(ISystemUserProfile userProfile, string conflictResource, string secureResource) Enforces that userProfile and both resource names are non-null/non-whitespace, and sets HasConflict/HasSecure by checking the profile against the given custom resource names instead of the standard role names.

Behavioral notes

  • Both flags are computed once at construction and stored as mutable public properties, so a change to the underlying user's authorization after construction is not reflected without creating a new instance*.
  • The two-argument-resource constructor allows this type to be reused for authorization checks against resource names other than the built-in ConflictClaim/SecureClaim roles*.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • Services/SAIF.Services/Security/ClaimUserSecurityAccess.cs