CLR: .Net / Mono / Boo / Otros CLR > ASP .NET

 Login Con Base De Datos "sql Server 2005"

(1/1)

robbie110487:
Hola, estoy realizando una aplicacion de practica para la empresa donde estoy actualmente, tecnicamente ya la he terminado, solo quisiera que me ayudaran con el sistema de logueo, cual es la mejor forma de hacerlo? con el control login? o con textbox y botones aparte??.
ya puse el control login y lo he personalizado y tmb hice la coneccion mediante un data source, ahra quisiera saber que comando utilizar para comparar usuario y password en una tabla de una base de datos que tengo en SQL SERVER 2005, cualquier ayuda es bien recibida.

Por cierto utilizo Microsoft Visual Studio 2005 Proffessional y como lenguaje Visual Basic

SAludos

lencho:

--- Código: Text ---Select id from Usuario where login = txtLogin.text and password = txtpassword.text 

sergiotarrillo:
Hola robbie110487!

Si quieres usar los controles Login (que sólo debe funcionar con arrastrar y usar, tienes que crear la base de datos para eso).

Tienes que correr la herramienta aspnet_regsql, para crear la base datos, y puedes escoger en crear un base de datos sólo para esas tablas o mantarlas en tu propia base de datos.

Una vez creado eso, tienes que remover, o cambiar el provider de seguridad en tu archivo web.config. Dos post que te servirán mucho:

Preparando la PC para usar Web Parts en ASP.NET 2.0. Esto también se aplica para la seguridad y el uso profiles.

usando las nuevas APIS de ASP.NET 2.0 con SQL Server 2000.

Saludos,

robbie110487:
Gracias por la info me sirvio de mucho, pero al final use esto:

--- Código: Text ---' Función para comprobar si el acceso es correcto    Private Function ComprobarUsuario(ByVal usuario As String, ByVal contrasena As String) As Boolean         ' Conectar a la base de datos        Dim cnn As SqlConnection = Nothing        Try            cnn = New SqlConnection(Me.SqlDataSource1.ConnectionString)            cnn.Open()             ' Definir la cadena que vamos a usar para comprobar            ' si el usuario y el password son correctos.            ' Utilizo parámetros para evitar inyección de código.            Dim sel As New System.Text.StringBuilder             ' Usando COUNT(*) nos devuelve el total que coincide            ' con lo indicado en el WHERE,            ' por tanto, si la clave y el usuario son correctos,            ' devolverá 1, sino, devolverá 0            sel.Append("SELECT COUNT(*) FROM Empleados ")            sel.Append("WHERE usuario = @usuario AND contrasena = @contrasena")             ' Definir el comando que vamos a ejecutar            Dim cmd As New SqlCommand(sel.ToString, cnn)             ' Creamos los parámetros            cmd.Parameters.Add("@usuario", SqlDbType.NVarChar, 16)            cmd.Parameters.Add("@contrasena", SqlDbType.NVarChar, 16)             ' Asignamos los valores recibidos como parámetro            cmd.Parameters("@usuario").Value = usuario            cmd.Parameters("@contrasena").Value = contrasena             ' Ejecutamos la consulta            ' ExecuteScalar devuelve la primera columna de la primera fila            ' por tanto, devolverá el número de coincidencias halladas,            ' que si es 1, quiere decir que el usuario y el password son correctos.            Dim t As Integer = CInt(cmd.ExecuteScalar)             ' Cerramos la conexión            cnn.Close()             ' Si el valor devuelto es cero            ' es que no es correcto.            If t = 0 Then                Return False            End If             'Capturamos una excepcion por si hay error en la conexion        Catch ex As Exception            lblError.Text = "Error " & ex.Message            Return False        Finally            'Si la conexion esta cerrada, la destruimos            If Not cnn Is Nothing Then                cnn.Dispose()            End If        End Try         ' Si llega aquí es que todo ha ido bien        Return True    End Function 
Y luego mando llamar a la funcion asi:

--- Código: Text ---Protected Sub Login1_Authenticate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.AuthenticateEventArgs) Handles Login1.Authenticate        If ComprobarUsuario(Login1.UserName, Login1.Password) = True Then            e.Authenticated = True        Else            e.Authenticated = False        End If    End Sub 
Me va de maravilla, saludos y gracias a los 2  :comp:

sergiotarrillo:
si es válido, asi es como se hacía antes, te recomiendo usar procedimientos almacenados, y leer sobre membership personaliza... ya que te estas perdiendo de mucho los controles Login...

Navegación

[0] Índice de Mensajes

Ir a la versión completa