Resumen Tabla usuarios en SQL

Mensaje enviado por rsauce <rsauce@sagyp.mecon.gov.ar>

Hola Cesar, mirá yo tomé un procedimiento de la base MASTER del SQL SERVER, que le cambia la clave de conexión al sql server al usuario, SP_PASSWORD.
y en Visual Basic hice una función que como funcionaba bién , así quedó (no me puse a corregirla ni optimizarla ni nada)

Public Function CambiaPassword(Usuario As String, OldPassword As String, NewPassword As String) As Boolean
Dim conec As ADODB.Connection
Dim cm As ADODB.Command
Dim rs As ADODB.Recordset
Dim p1 As ADODB.Parameter
Dim p2 As ADODB.Parameter
Dim p3 As ADODB.Parameter

    On Error GoTo Cancela
    Set rs = New ADODB.Recordset
    Set conec = New ADODB.Connection
    Set cm = New ADODB.Command
    Cadena = "provider=sqloledb.1;integrated Security=SSPI; persist security info=False; initial catalog=Master; data source=" & Server
    conec.Open Cadena
    conec.CursorLocation = adUseClient
    cm.CommandText = "sp_password"
    cm.CommandType = adCmdStoredProc

    Set p1 = cm.CreateParameter("Old", adBinary, adParamInput, 20, OldPassword)
    Set p2 = cm.CreateParameter("New", adBinary, adParamInput, 20, NewPassword)
    Set p3 = cm.CreateParameter("LoginName", adBinary, adParamInput, 20, Usuario)

    cm.Parameters.Append p1
    cm.Parameters.Append p2
    cm.Parameters.Append p3
    Set cm.ActiveConnection = conec
    Set rs = cm.Execute
    CambiaPassword = True

    Exit Function

Cancela:
    ' detectar error
    Select Case Err.Number
        Case -2147467259
            MsgBox "No hay conexión con el Servidor", vbCritical, "ERROR"
        Case -2147217865
            MsgBox "Error en Acceso: Acceso Inválido", vbCritical, "ERROR"
        Case -2147217900
            MsgBox "Clave Actual Errónea" & vbCrLf & "la clave No puede ser cambiada", vbCritical, "Alerta de Truchada"
        Case -2147217843
            MsgBox "Usuario o Clave Erróneas", vbCritical, "ERROR"
        Case Else
            Open "error.log" For Append As #1
            Print #1, "Cambio de Pass: "; Now; ":"; Usuario; " - Error: " & Err.Number; " : "; Err.Description
            Close #1
            resp = MsgBox("Error: " & Err.Number & vbCrLf & Err.Description, vbRetryCancel, "Error Inesperado")
            If resp = 4 Then
               Resume
            End If
    End Select
    CambiaPassword = False
End Function

Ricardo

Cesar Altamirano Arbayza wrote:
>Hola Listeros,
>Tengo que crear una tabla de usuarios para el LOGIN a una aplicacion,
>debo guardar en esta tabla de SQL Server el codigo de usuario y su password.
>¿Existe alguna facilidad del SQL para encriptar este campo password o tengo
>que usar algun algoritmo propio?
>¿Es seguro esta forma de plantear la seguridad de acceso al sistema?

>Saludos,
>Cesar A.



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com