Foros del Web » Programando para Internet » ASPX (.net) »

Login Authenticate

Estas en el tema de Login Authenticate en el foro de ASPX (.net) en Foros del Web. Buenas! tengo un problema En mi página he puesto una herramienta de Inicio de Sesión: Login (uso el Visual 2005), y necesito coger de ahí ...
  #1 (permalink)  
Antiguo 25/05/2007, 06:15
Avatar de belenxi  
Fecha de Ingreso: mayo-2007
Ubicación: Alicante, España
Mensajes: 8
Antigüedad: 17 años
Puntos: 0
Login Authenticate

Buenas! tengo un problema

En mi página he puesto una herramienta de Inicio de Sesión: Login (uso el Visual 2005), y necesito coger de ahí el USUARIO y el PASSWORD para más tarde con una SELECT buscar en mi BD a ver si el usuario y la contraseña son correctos. La BD la tengo con el Sql Server 2005, y no la debo incluír en el proyecto. Necesito usar cadenas de conexión.. etc etc.

Alguien sabe cómo hacer ésto???
gracias
  #2 (permalink)  
Antiguo 29/05/2007, 00:47
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 6 meses
Puntos: 4
Re: Login Authenticate

En la página http://www.connectionstrings.com/ encontrarás todas las cadenas de conexión para bases de datos. En concreto para SQL Server 2005 es http://www.connectionstrings.com/?carrier=sqlserver2005. Al final de la página encontrarás los cadenas para conexión con .Net.

Lo mejor es que guardes la cadena de conexión en el archivo web.config:

Código:
<configuration>
 	<appSettings>
		<add key="constring" value="Server=nombre_del_servidor;UID=usuario;PWD=contraseña;Database=base_de_datos" />
Luego en el código de la página (p.ej. login.aspx):

Código:
Dim usuario As String = Me.txtUsuario.Text
Dim pass As String = Me.txtPass.Text
Dim encPass As String = FormsAuthentication.HashPasswordForStoringInConfigFile(pass, "sha1")
Dim con As New SqlConnection(ConfigurationSettings.Appsetings("constring"))
Dim cmd As New SqlCommand("SELECT COUNT(*) FROM usuarios WHERE Nombre = '" & usuario & "' AND Pass = '" & encPass & "'", con)
con.Open()
If cmd.ExecuteScalar <> 1 Then
   'No hay ningún usuario con es nombre y contraseña: ACCESO NO PERMITIDO
   'Código para denegar el acceso
Else
   'ACCESO PERMITIDO.
   'Código para continuar con permiso y acceder al contenido protegido
End If
No sé si lo harás, pero yo te recomiendo que almacenes las contraseñas encriptadas en la base de datos con los algoritmos MD5 o SHA1. No te permite recordar la contraseña, ya que está encriptada y no se puede desencriptar, pero es bastante más seguro. Cuando vayas a comprobar si la contraseña que ha introducido el usuario es correcta, la encriptas y es ese resultado el que validas con la base de datos.

Espero que te sirva.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:24.