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.* |
Related documentation¶
- Library index
- Overview
- Architecture
- Dependencies
- Operations and processes
- Business rules
- Security and authorization
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.vbSAIF.Business.View.Policy\Web.configSAIF.Business.View.Policy\app.configSAIF.Business.View.Policy\SAIF.Business.View.Policy.vbproj