pudieron palabra net metadatos los integrated especificados conexion clave cargar cadena asp admitida .net ado.net

.net - net - palabra clave no admitida connection timeout



cómo sqlConnection oculta la contraseña de la cadena de conexión (1)

Estoy haciendo un componente que utiliza algunos datos para conectarse a una base de datos, esta información incluye identificación de usuario y contraseña, almacena esos valores en variables privadas, pero cualquier programador puede ver el valor en el depurador después de la inicialización, así que me pregunto cómo SqlConnection hace para ocultar ese valor, cuando veo el valor de la propiedad ConnectionString veo toda la información excepto la contraseña, la almacena en algún lado pero no la hace visible, incluso en el depurador no puedo ver ninguna variable que esté almacenando el contraseña, sé que puedo proteger la contraseña usando SecureString, pero me pregunto cómo es la implementación del objeto SqlConnection.

Gracias.

Juan Zamudio


Del manual :

ConnectionString es similar a una cadena de conexión OLE DB, pero no es idéntica. A diferencia de OLE DB o ADO, la cadena de conexión que se devuelve es la misma que ConnectionString configurada por el usuario, menos la información de seguridad si el valor de Persist Security Info está establecido en false (valor predeterminado). .NET Framework Data Provider para SQL Server no persiste ni devuelve la contraseña en una cadena de conexión a menos que establezca Persist Security Info en verdadero.

No estoy seguro de cómo se implementa esto. Mi suposición no verificada es que rellena una estructura con los parámetros de seguridad que luego envía al servidor, nunca los almacena a menos que establezca Persist Security Info en verdadero.