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/SecureClaimrole names or arbitrary caller-specified resource names.
Context¶
- Namespace:
SAIF.Services.Security - Assembly/package:
SAIF.Services(packaged inside theSAIF.SAIFCode.CoreNuGet 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/SecureClaimroles*.
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