Skip to content

Configuration settings

This library's configuration surface is narrow: a single class (clsPolicySecurity) reads three plain-text Environment API settings, all consumed together in its private Initialize() method to build a secondary SQL Server "BDS" data connection used exclusively for authorization/access-control stored-procedure lookups. No AppSettings, secure/encrypted settings, or ApplicationSettingsBase production settings were found.

Configuration retrieval methods

Method Class / Interface Namespace Usage pattern
AppGlobal.EnvironmentService.GetConfigSetting(String) AppGlobal (static accessor) → IEnvironmentService SAIF.Framework.Security (AppGlobal); IEnvironmentService from SAIF.BOF.Framework.Security.EnvironmentApi* Called three times, back-to-back, inside clsPolicySecurity.Initialize() (a Private Sub) to read the SQL Server BDS connection parameters immediately before constructing clsSQLDataLayer. This is the only configuration-retrieval mechanism found in this library's production code.

Environment API settings

Setting key Method Data type Purpose Consuming class Source
BDS_USER GetConfigSetting String SQL Server login/username used to authenticate the secondary BDS connection — credential-like, varies by environment. clsPolicySecurity SAIF.Business.View.Policy\clsPolicySecurity.vb
bdsDatabase GetConfigSetting String SQL Server host/instance ("server") name for the BDS connection — varies by environment. clsPolicySecurity SAIF.Business.View.Policy\clsPolicySecurity.vb
BDS_DATABASENAME GetConfigSetting String SQL Server database/catalog name (Initial Catalog) for the BDS connection — varies by environment. clsPolicySecurity SAIF.Business.View.Policy\clsPolicySecurity.vb

All three keys are read together in clsPolicySecurity.Initialize() (invoked once, from the class constructor, for every clsPolicySecurity instance) and passed positionally into New clsSQLDataLayer(bdsUser, bdsServer, bdsDatabaseName, SecurityPrincipal.UserName.ToString). None use the generic GetConfigSetting<T>(...) overload or GetSecureConfigSetting — all three retrieve plain-text values via the non-generic, non-secure overload, including BDS_USER, which functions as a database-login credential but is not retrieved through the secure/encrypted path.*

AppSettings (Web.config)

Not applicable. No ConfigurationManager.AppSettings usage or <appSettings> section was found anywhere in this library (Web.config and app.config contain only <configSections>/ <system.data> entries for the Oracle Managed Data Access provider — see Custom configuration sections below).

Database connection configuration

Connection name Provider Retrieval method Purpose Source
Secondary SQL Server BDS connection (clsPolicySecurity's DPISql/m_dpiSQL) SQL Server† AppGlobal.EnvironmentService.GetConfigSetting (BDS_USER, bdsDatabase, BDS_DATABASENAME) Builds a second, SQL-Server-backed IDataPortalInfo used exclusively by clsPolicySecurity for group-membership (SQL-VP-033), loss-control book (SQL-VP-035), and group-policy-list (SQL-VP-034) stored-procedure calls — authorization/access-control lookups that live in the SQL Server BDS database rather than the Oracle policy database. SAIF.Business.View.Policy\clsPolicySecurity.vb
Primary DPI (DPI property, m_dpi) Not determined by this library — injected via constructor** N/A — no GetConfigSetting call in this library resolves it Used for all other data access in clsPolicySecurity (e.g., IsPolicyValidForUser, CanAuditorAccessPolicy) and passed in by the caller as inDPI. Oracle-only stored procedures/bind-variable syntax elsewhere in this library are consistent with this primary DPI being Oracle-backed*, but this is not confirmed from within this library. SAIF.Business.View.Policy\clsPolicySecurity.vb

† Classification basis: New clsSQLDataLayer(bdsUser, bdsServer, bdsDatabaseName, ...) is the SQL-Server-specific data-layer constructor signature. The target BDS database/catalog value itself is not statically resolvable from this library's source — it is resolved at runtime against the Environment API, keyed by the hosting application's ApplicationName/ApplicationHost.**

clsSQLDataLayer itself is not defined in SAIF.Business.View.Policy or its same-repo project references (SAIF.Business.Policy, SAIF.Business.Utilities) — it is supplied by a referenced SAIF internal NuGet package, so its exact implementation and any configuration it consumes internally beyond the three passed-in parameters could not be verified from this library's source.**

Secure settings

Not applicable. No GetSecureConfigSetting(...) calls or hash/credential-utility usage were found anywhere in this library. All three settings consumed by clsPolicySecurity.Initialize() are retrieved via the plain-text GetConfigSetting overload.

Custom configuration sections

Section name Handler type Purpose
oracle.manageddataaccess.client OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess Oracle Managed Data Access (ODP.NET) driver configuration; registered identically in both Web.config and app.config, alongside a <system.data><DbProviderFactories> entry re-registering the Oracle.ManagedDataAccess.Client provider factory. Not connected to the BDS_USER/bdsDatabase/BDS_DATABASENAME settings — this section configures the Oracle provider used by the library's primary (Oracle) data access, not the secondary SQL Server DPI built in clsPolicySecurity.Initialize().*

No <connectionStrings> entries, WCF system.serviceModel sections, or other custom <section> registrations were found in either config file.

Configuration dependencies

Dependency Type Required at Impact if missing
BDS_USER, bdsDatabase, BDS_DATABASENAME (Environment API) Runtime configuration keys clsPolicySecurity construction (every instance) clsPolicySecurity.Initialize() would fail to build the secondary SQL Server BDS connection, breaking Group, LossControl-book, and group-policy-list authorization/list-building operations.
Opaque primary DPI (constructor-injected) Externally-constructed dependency Every clsPolicySecurity operation except the BDS-only ones Not resolvable within this library; failure behavior depends on the caller-supplied IDataPortalInfo implementation.**
oracle.manageddataaccess.client config section Config file section Application startup (ODP.NET provider registration) Oracle-backed data access throughout this library (and its Oracle-only stored-procedure calls) would fail to initialize.*

Note: Statements marked with † are derived from dependency library documentation via the Legends CLI. Statements marked with * were inferred from code structure or contextual evidence. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • SAIF.Business.View.Policy\clsPolicySecurity.vb
  • SAIF.Business.View.Policy\Web.config
  • SAIF.Business.View.Policy\app.config
  • SAIF.Business.View.Policy\SAIF.Business.View.Policy.vbproj