Legacy ASMX-based checks use a different (inconsistent) naming convention than the WCF-based IsAuthorized path — same underlying business intent (environment isolation) but a different suffix format.
Source
SAIF.Framework.Security\clsAccountMaintProxy.vb
BR-003: Machine security group names use Test+Resource suffixing¶
Field
Value
Statement
Machine security group/resource names append Test then Resource suffixes when isResource=True and useProductionSecurityResource=False.
Machine/service-account authorization also respects environment isolation, matching the WCF IsAuthorized convention rather than the legacy ASMX convention.
Ensures role/group lookups are always domain-qualified when sent to the SecurityService.
Source
SAIF.Framework.Security\clsSecurityPrincipal.vb
BR-006: Changing identity properties logs the principal out¶
Field
Value
Statement
Changing UserName, Domain, or Password on an existing clsSecurityPrincipal instance immediately logs the principal out (clears authenticated state, un-impersonates).
Prevents stale authorization/impersonation state from persisting after credentials are changed.
Source
SAIF.Framework.Security\clsSecurityPrincipal.vb
BR-007: Internal network addresses are limited to a fixed prefix set¶
Field
Value
Statement
Internal network addresses are recognized only for 10.*, 127.0.0.1, and ::1 prefixes.*
Trigger
clsEnvironment.InternalAddress(Address) call.
Enforcement
SAIF.Framework.Security\clsEnvironment.vb.
Outcome
Provides a coarse internal-vs-external network classification used by callers (e.g., to select internal vs. external authorization paths).*
Source
SAIF.Framework.Security\clsEnvironment.vb
BR-008: Machine authorization fails closed on service error¶
Field
Value
Statement
Utilities.MachineSecurityService.IsAuthorized fails closed (returns not-authorized) when the underlying WCF GetUsersByGroup call throws, since the exception handler only logs via Debug.WriteLine and never sets the result to found.
Trigger
Any exception raised while calling SecurityService.SecurityClient.GetUsersByGroup.
Guarantees a safe default (not-authorized) if the WCF endpoint is unreachable or throws, at the cost of silently swallowing the underlying error detail.
Note: Statements marked with * were inferred from code structure, naming conventions, or
contextual evidence where direct confirmation was not available in source artifacts.