Conectarme SQLServer--Importante

13/09/2006 - 22:25 por Pao | Informe spam
hola a todos:
Mi duda esta orientada a la forma de conectarme con mis aplicaciones del
tipo Visual Basic, Office hacía mi SQLServer.

Les comento brevemente el esenario:
SQLServer 2000 Parche sp3a.

El detalle es que muchas de las aplicaciones en su programación usan estas
formas de conexión (Adjuntas en parte inferiorl) Si observas aparentemente
usan la definción de un ODBC pero trabajan con Autenticación de SQLServer,
donde queman un usuario y su password dentro del código fuente.Cosa que
quiero cambiar.

Tengo dos alternativas como es trabajar:
· Autenticación por Windows, donde no se quemará usuarios ni
passwords y la comunicación es más segura.
· Ó Usar Roles de Aplicación.
Sin embargo quería ver que recomendaciones y/o consideraciones me puedes dar
sobre este tema y si tienes ejemplos de la programación con estas opciones u
otras que me puedas indicar.

Realmente son varios los casos en los que muchos de los desarrollos traen
este tipo de problemas, aunque acá no he visto mayormente este caso, pero
también queman usuarios y password como texto plano sin encriptación en
archivos ini, regedit.

-
goDB.ConnectionString = "DSN=" & msDSN_NAME & ";UID=" & "sa" & ";PWD=" &
"sa" & ";"


-

On Error GoTo errHandler
FrmConsEntSal.MousePointer = vbHourglass
'CrystalReport1.Reset
CrystalReport1.Connect = "DSN=" & RTrim("Acceso") & ";UID=" & "mmedina" &
";PWD=" & "mmedina"
CrystalReport1.StoredProcParam(0) = 20 'numero de filas


Private Const msDSN_NAME_SMA As String = "SMA"
Private Const msDB_USERNAME_SMA As String = "sct_user"
Private Const msDB_PASSWORD_SMA As String = "panacc03"

Private Const msDSN_DESCRIPTION_SMA As String = "SMA"
Private Const msDSN_SERVER_SMA As String = "SINTRANET"
Private Const msDSN_DATABASE_SMA As String = "sma"

Set goDBSMA = New ADODB.Connection
goDBSMA.ConnectionString = "DSN=" & msDSN_NAME_SMA & ";UID=" &
msDB_USERNAME_SMA & ";PWD=" & msDB_PASSWORD_SMA & ";"
Call goDBSMA.Open
-
Private Const msDSN_NAME As String = "VISA_OPTAR"

'******************************
' NOME: gbConnect()
' DESCRICAUM: Conecta o aplicat. a base de dados...
' PARAMETROS: (ninguno

Public Function gbConnect() As Boolean

On Error GoTo Err_gbConnect

Set goDB = New ADODB.Connection

' Es necesario para la señalizacion de la base de Datos.
goDB.ConnectionString = "DSN=" & msDSN_NAME & ";UID=" & "sa" & ";PWD=" &
"sa" & ";"

Call goDB.Open
gbConnect = True

Exit Function
 

Leer las respuestas

#1 Antonio Soto
14/09/2006 - 08:21 | Informe spam
Hola Pao,

si utilizas roles de aplicación vas a tener que especificar también una
contraseña a través de código. Lo recomendable desde el punto de vista de
seguridad es utilizar Autenticación Windows. El tema está en que entonces
necesitarás agregar un login para cada usuario de Windows que vaya a acceder
a SQL Server. Para evitar todo este trabajo podrías crearte un grupo de
Windows y agregar un inicio de sesión para el grupo


Antonio Soto
Solid Quality Learning
http://www.sqlu.com
Disclaimer: This communication is an original work and represents my sole
views on the subject. It does not represent the views of any other person
or entity either by inference or direct reference

"Pao" wrote in message
news:
hola a todos:
Mi duda esta orientada a la forma de conectarme con mis aplicaciones del
tipo Visual Basic, Office hacía mi SQLServer.

Les comento brevemente el esenario:
SQLServer 2000 Parche sp3a.

El detalle es que muchas de las aplicaciones en su programación usan estas
formas de conexión (Adjuntas en parte inferiorl) Si observas aparentemente
usan la definción de un ODBC pero trabajan con Autenticación de SQLServer,
donde queman un usuario y su password dentro del código fuente.Cosa que
quiero cambiar.

Tengo dos alternativas como es trabajar:
· Autenticación por Windows, donde no se quemará usuarios ni
passwords y la comunicación es más segura.
· Ó Usar Roles de Aplicación.
Sin embargo quería ver que recomendaciones y/o consideraciones me puedes
dar
sobre este tema y si tienes ejemplos de la programación con estas opciones
u
otras que me puedas indicar.

Realmente son varios los casos en los que muchos de los desarrollos traen
este tipo de problemas, aunque acá no he visto mayormente este caso, pero
también queman usuarios y password como texto plano sin encriptación en
archivos ini, regedit.

-
goDB.ConnectionString = "DSN=" & msDSN_NAME & ";UID=" & "sa" & ";PWD="
&
"sa" & ";"


-

On Error GoTo errHandler
FrmConsEntSal.MousePointer = vbHourglass
'CrystalReport1.Reset
CrystalReport1.Connect = "DSN=" & RTrim("Acceso") & ";UID=" & "mmedina"
&
";PWD=" & "mmedina"
CrystalReport1.StoredProcParam(0) = 20 'numero de filas


Private Const msDSN_NAME_SMA As String = "SMA"
Private Const msDB_USERNAME_SMA As String = "sct_user"
Private Const msDB_PASSWORD_SMA As String = "panacc03"

Private Const msDSN_DESCRIPTION_SMA As String = "SMA"
Private Const msDSN_SERVER_SMA As String = "SINTRANET"
Private Const msDSN_DATABASE_SMA As String = "sma"

Set goDBSMA = New ADODB.Connection
goDBSMA.ConnectionString = "DSN=" & msDSN_NAME_SMA & ";UID=" &
msDB_USERNAME_SMA & ";PWD=" & msDB_PASSWORD_SMA & ";"
Call goDBSMA.Open
-
Private Const msDSN_NAME As String = "VISA_OPTAR"

'******************************
' NOME: gbConnect()
' DESCRICAUM: Conecta o aplicat. a base de dados...
' PARAMETROS: (ninguno

Public Function gbConnect() As Boolean

On Error GoTo Err_gbConnect

Set goDB = New ADODB.Connection

' Es necesario para la señalizacion de la base de Datos.
goDB.ConnectionString = "DSN=" & msDSN_NAME & ";UID=" & "sa" & ";PWD="
&
"sa" & ";"

Call goDB.Open
gbConnect = True

Exit Function


Preguntas similares