Skip to content

Configuration settings

SAIF.Business.Security.SystemUser reads runtime configuration only from legacy XML property files through clsProperties. The library consumes elevated Active Directory bind credentials from PROPERTIES.XML and reads an agreement-check flag plus special-user values from OnlineProperties.xml; the credential-bearing XML nodes are security-sensitive because they directly supply authentication inputs to directory-service flows.

Configuration retrieval methods

Method Class / Interface Namespace Usage pattern
New clsProperties(inPropertiesFileName, inPropertiesFilePath) + getAppProperties("ONLINE") clsProperties Global (no namespace declaration) The constructor overload reads the ONLINE node from a caller-supplied XML file path, then extracts SECURITY/USERID and SECURITY/PASSWORD before calling Initialize(...).
clsProperties.XMLPath() + New clsProperties("OnlineProperties.xml", checkPath) + getAppProperties("CHECK_FOR_USER_AGREEMENTS") clsProperties Global (no namespace declaration) CheckOnlineSecurityAgreements() asks the legacy helper for the XML directory, loads OnlineProperties.xml, and reads the agreement flag node.
GetPropFilePath() + New clsProperties("OnlineProperties.xml", xmlPath) + getAppProperties("SPECIAL_USERS/PAYROLL_REPORTING_ONLY") clsProperties plus local helper Global (no namespace declaration) GetSpecialUserInfo() resolves the XML directory from APPL_PHYSICAL_PATH, loads OnlineProperties.xml, and reads the payroll-reporting-only special-user node.

XML properties files

File XML path / key Consumer Retrieval method Runtime path resolution Purpose
PROPERTIES.XML ONLINE/SECURITY/USERID clsSystemUser.New(ByVal inPropertiesFileName As String, ByVal inPropertiesFilePath As String, ByVal inSecurityPrincipal As clsSecurityPrincipal) properties.getAppProperties("ONLINE") + SelectSingleNode("SECURITY/USERID") The caller supplies inPropertiesFileName and inPropertiesFilePath. Elevated directory-bind user passed into Initialize(...).
PROPERTIES.XML ONLINE/SECURITY/PASSWORD clsSystemUser.New(ByVal inPropertiesFileName As String, ByVal inPropertiesFilePath As String, ByVal inSecurityPrincipal As clsSecurityPrincipal) properties.getAppProperties("ONLINE") + SelectSingleNode("SECURITY/PASSWORD") The caller supplies inPropertiesFileName and inPropertiesFilePath. Elevated directory-bind password passed into Initialize(...).
OnlineProperties.xml CHECK_FOR_USER_AGREEMENTS clsSystemUser.CheckOnlineSecurityAgreements() props.XMLPath() + props.getAppProperties("CHECK_FOR_USER_AGREEMENTS") clsProperties.XMLPath() derives the XML directory from HttpContext.Current.Request.ServerVariables("APPL_PHYSICAL_PATH"). Controls whether online security agreements are checked.
OnlineProperties.xml SPECIAL_USERS/PAYROLL_REPORTING_ONLY/NAME clsSystemUser.GetSpecialUserInfo(ByRef specialUserName As String, ByRef specialUserId As String, ByVal utype As specialUserType) GetPropFilePath() + props.getAppProperties("SPECIAL_USERS/PAYROLL_REPORTING_ONLY") + .Item("NAME") GetPropFilePath() walks from the current web application's physical path to the sibling XML directory. Returns the payroll-reporting-only special-user name to the caller.
OnlineProperties.xml SPECIAL_USERS/PAYROLL_REPORTING_ONLY/ID clsSystemUser.GetSpecialUserInfo(ByRef specialUserName As String, ByRef specialUserId As String, ByVal utype As specialUserType) GetPropFilePath() + props.getAppProperties("SPECIAL_USERS/PAYROLL_REPORTING_ONLY") + .Item("ID") GetPropFilePath() walks from the current web application's physical path to the sibling XML directory. Returns the payroll-reporting-only special-user ID to the caller.

Environment API settings

No IEnvironmentService usage was identified in this library.

AppSettings (Web.config)

No ConfigurationManager.AppSettings usage or <appSettings> entries were identified. App.config only registers the Oracle managed provider and assembly binding redirects.

Database connection configuration

No connection strings or DbConnectionManager usage were identified in the analyzed source.

Secure settings

Setting key Encryption method Purpose Consuming class Source
ONLINE/SECURITY/USERID Plain XML node read via clsProperties Supplies the elevated Active Directory bind user used during clsSystemUser initialization. clsSystemUser Business\SAIF.Business.Security.SystemUser\clsSystemUser.vb
ONLINE/SECURITY/PASSWORD Plain XML node read via clsProperties Supplies the elevated Active Directory bind password used during clsSystemUser initialization. clsSystemUser Business\SAIF.Business.Security.SystemUser\clsSystemUser.vb
SPECIAL_USERS/PAYROLL_REPORTING_ONLY/NAME Plain XML node read via clsProperties Returns a security-sensitive payroll-reporting-only special-user name for authentication flows. clsSystemUser Business\SAIF.Business.Security.SystemUser\clsSystemUser.vb
SPECIAL_USERS/PAYROLL_REPORTING_ONLY/ID Plain XML node read via clsProperties Returns a security-sensitive payroll-reporting-only special-user ID for authentication flows. clsSystemUser Business\SAIF.Business.Security.SystemUser\clsSystemUser.vb

Transitive configuration (from dependencies)

No additional transitive settings were identified beyond the legacy clsProperties XML helper used directly by this library.

Configuration dependencies

Dependency Type Required at Impact if missing
PROPERTIES.XML XML file Construction time The constructor overload that accepts a properties file cannot retrieve elevated bind credentials and throws ApplicationException("Error while retrieving security user from properties.", ex).
OnlineProperties.xml XML file Runtime Agreement-check and special-user lookups cannot return configured values; CheckOnlineSecurityAgreements() and GetSpecialUserInfo() fall back to their built-in return paths.
HttpContext.Current.Request.ServerVariables("APPL_PHYSICAL_PATH") ASP.NET request context Runtime GetPropFilePath() and clsProperties.XMLPath() cannot resolve the XML directory used for OnlineProperties.xml lookups.

Sources

  • Business\SAIF.Business.Security.SystemUser\App.config
  • Business\SAIF.Business.Security.SystemUser\clsSystemUser.vb
  • Legacy\SAIFProperties\clsProperties.vb