DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO
Property group: Initialization
Property set: DBPROPSET_DBINIT
Type: VT_BOOL
Typical R/W: R/W
Description: Persist Security Info
Value |
Meaning |
---|---|
VARIANT_TRUE |
The data source object is allowed to persist sensitive authentication information such as a password along with other authentication information. |
VARIANT_FALSE |
The data source object cannot persist sensitive authentication information. |
If DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO is set to VARIANT_FALSE at the time the data source object is initialized, the data source object cannot persist sensitive authentication information. Furthermore, requesting properties that contain sensitive authentication information, such as a password, returns some default value instead of the actual password.
Your ability to view sensitive data depends on the state of initialization of the data source object. The following table summarizes the different states of initialization, in order, and how sensitive information is viewed.
Initialization state of data source object |
How sensitive information is viewed |
---|---|
1. Not yet initialized |
Sensitive information can be obtained using IDBProperties::GetProperties, regardless of the setting of DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO. |
2. Initialized |
Sensitive information can only be obtained if DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO is set to TRUE. |
3. Uninitialized |
Sensitive information set before uninitialization still can only be seen with a setting of TRUE. Any sensitive information set after uninitialization will be seen regardless of the setting for DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO. |
4. Re-initialized |
The setting for DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO controls whether sensitive information is viewable. |
Before the data source object is initialized for the first time, sensitive information can be obtained by calling IDBProperties::GetProperties and can be persisted, regardless of the setting of DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO. For this reason, consumers should not pass around uninitialized data source objects.