problema con login form

Iniciado por bitaziko, 29 Septiembre 2011, 00:27 AM

0 Miembros y 1 Visitante están viendo este tema.

bitaziko

hola hackeros primero que nada agradecer a todos los que haceis que esta comunidad se mantenga y mas que nada que aporta buenos conocimientos...

mi problema es... bueno probablemente lo habran posteado ya pero me he cansado de buscar en el "buscador" y no he dado con esto... asi que si es asi lo siento...

bueno mi problema es el siguiente
estoy intentando hacer una aplicacioncon BVultimate2010
es una especie de base de datos pero con su ejecutable en plan para no tener que estar instalando ningun programa mas que el que yo cree y poder usarlo en cualquier pc
bueno mi duda es... ya que le he puesto un lofingform al inicio y solo se el codigo para que guarde una contraseña....si quisiera agregar mas usuarios y contraseña tendria que crear otra base de datos para ello??? o hay algun codigo que me permita guardar mas de un usuario y una contraseña?????

en el codigo he conseguido que compare los datos introducidos en los textbox (usuario y contraseña) con los que he guardado en mi configuracion.

he intentando meter mas usuarios y contraseñas alli pero nada de nada (supongo que es erroneo) o alomejor no es exactamente para este fin .......

bueno espero haber sido preciso y claro y que me podais ayudar...

PD:si creeis que seria mas facil y os muestro el codigo que estoy usando avisadme y lo hago pues esta en el pc del trabajo...

gracias de antemano
La Suerte Favorece a los Niños,a los Locos y a las Naves llamadas Enterprise....

raul338

Cita de: bitaziko en 29 Septiembre 2011, 00:27 AM
estoy intentando hacer una aplicacioncon BVultimate2010

Especifica bien, puede ser VB 2010 (que es .net) o vb6... pero.... BV no lo conozco, y ... ultimate, sera el visual studio :P

ignorantev1.1

Sí, mejor cuelga el código... :-\


Saludos!

hacknival

 que hay bitaziko, mira espero que haya sido un orror ortografico eso de BV en lugar de VB, pero bueno te digo... Mira si tienes conexion a una base de datos quiere decir que estas usando un numero X de tablas, bueno pus entonces crea otra tabla que contenga tus usuarios y sus respectivas contraseñas, y para despues puedes hacer la programacion en tu form de querer dar de alta un nuevo usuario y con un insert guardarlo en tu tabla creada y como la tabla se actualiza de forma automatica despues ya puedes hacer un login con el nuevo user y pass y por cierto no dijiste que BD utilizas (Sql, Mysql, oracle, acces) pero bueno en todas usas un insert jajaja.. espero te sirva, saludos desde mexico fuaaaa.

por cierto el VB tienes la opcionde usar una BD integrada a tu proyecto...

espero te sirva por que no entendi muy bien eso de:
Cita de: bitaziko en 29 Septiembre 2011, 00:27 AM

es una especie de base de datos pero con su ejecutable en plan para no tener que estar instalando ningun programa mas que el que yo cree y poder usarlo en cualquier pc

bitaziko

pufffff!!!!!! vaya tela..... jejej BV??
es lo que pasa por querer saber mas de la cuenta jajajajja
aver uso el Visual Studio Ultimate 2010
la conexion (aqui estoy un poco dudoso) no se si es  mejor hacer la con access o sql aunq con access me entiendo mejor la diferencia segun lo que entiendo es que con sql puedo crear en el mismo VB la base de datos

bueno hacknival segun entiendo me dice que en la base que tengo creada cree otra tabla con los usuarios y las contraseñas???? si es asi de lujo!!!!!
La Suerte Favorece a los Niños,a los Locos y a las Naves llamadas Enterprise....

s00rk

Cita de: bitaziko en 29 Septiembre 2011, 03:40 AM
pufffff!!!!!! vaya tela..... jejej BV??
es lo que pasa por querer saber mas de la cuenta jajajajja
aver uso el Visual Studio Ultimate 2010
la conexion (aqui estoy un poco dudoso) no se si es  mejor hacer la con access o sql aunq con access me entiendo mejor la diferencia segun lo que entiendo es que con sql puedo crear en el mismo VB la base de datos

bueno hacknival segun entiendo me dice que en la base que tengo creada cree otra tabla con los usuarios y las contraseñas???? si es asi de lujo!!!!!

Si el usuario y la contraseña para loguear esta dentro del codigo del programa sera mas tedioso estar ir añadiendo usuarios mejor es crear una tabla en la BD que se llame usuarios_form o algo que identifique que son para loguear y ya dentro que haya id(primare key), usuario(char), password(char) y asi ya cuando des click a loguear haga una busqueda con tales parametros en la tabla y ya si da un resultado pues loguea sino pues no jejeej

bitaziko

#6
mmm vale....  s00rk
lo he intentado pero me he dado cuenta que se menos de esto de lo que imaginaba jejejeje

veras el problema ahora me reside en el punto de escribir el codigo para que al hacer click en el boton haga el procedimiento que me dices....y es que no tengo ni idea de cual es el codigo
habia intentado algo asi como: If UsuarioTextBox1(nombre del textbox) = Database1DataSet1.Usuarios_Form(nombre de la tabla) Then.... pero hay me kedo ya que el programa no me reconoce el "="....  

me dice: Operator '=' in not defined for types 'system.windows.forms.textbox' and 'sqldatabase.database1dataset1.usuarios_formdatatable'.


Este es el codigo que use para guardar un solo usuario y una contraseña:
quise guiarme pero nada.

Public Class LoginForm1

   ' TODO: Insert code to perform custom authentication using the provided username and password
   ' (See http://go.microsoft.com/fwlink/?LinkId=35339).  
   ' The custom principal can then be attached to the current thread's principal as follows:
   '     My.User.CurrentPrincipal = CustomPrincipal
   ' where CustomPrincipal is the IPrincipal implementation used to perform authentication.
   ' Subsequently, My.User will return identity information encapsulated in the CustomPrincipal object
   ' such as the username, display name, etc.

   Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Aceptar.Click
       If TextBox1.Text = "xxxxxx" And TextBox2.Text = "xxxxxx" Then
           If CheckBox1.Checked = True Then
               My.Settings.xxxxxx= TextBox1.Text
               My.Settings.Save()
               My.Settings.Reload()
           Else
               My.Settings.xxxxxx = ""
               My.Settings.Save()
               My.Settings.Reload()
           End If
           If CheckBox2.Checked = True Then
               My.Settings.xxxxxxx = TextBox2.Text
               My.Settings.Save()
               My.Settings.Reload()
           Else
               My.Settings.xxxxxx = ""
               My.Settings.Save()
               My.Settings.Reload()
           End If
           If CheckBox1.Checked = True And CheckBox2.Checked = True Then
               My.Settings.xxxxxxx= TextBox1.Text
               My.Settings.xxxxxxx = TextBox2.Text
               My.Settings.Save()
               My.Settings.Reload()
           Else
               My.Settings.xxxxxx= ""
               My.Settings.xxxxxx = ""
               My.Settings.Save()
               My.Settings.Reload()
           End If
           MsgBox("Bienvenido" & TextBox1.Text & ".")
           MDIParent1.Show()
           Me.Hide()
       Else
           MsgBox("Usuario o contraseña Incorrectos.", MsgBoxStyle.Critical)

       End If
   End Sub

   Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancelar.Click
       Me.Close()
       SplashScreen1.Close()
   End Sub

   Private Sub LoginForm1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
       If CheckBox1.Checked = False Then
           My.Settings.xxxxxxxx = ""
       End If
       If CheckBox2.Checked = False Then
           My.Settings.xxxxxxx = ""
       End If
       If CheckBox1.Checked = False And CheckBox2.Checked = False Then
           My.Settings.xxxxxxx= ""
           My.Settings.xxxxxx = ""
       End If
   End Sub

   Private Sub LoginForm1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
       TextBox1.Text = My.Settings.xxxxxxxx
       TextBox2.Text = My.Settings.xxxxxxx
       If TextBox1.Text = "xxxxxx" Then
           CheckBox1.Checked = True
       End If
       If TextBox2.Text = "xxxxxxxx" Then
           CheckBox2.Checked = True
       End If
       If TextBox1.Text = "xxxxx" And TextBox2.Text = "xxxxxx" Then
           CheckBox1.Checked = True
           CheckBox2.Checked = True
       End If
   End Sub

   Private Sub Limpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Limpiar.Click
       TextBox1.Text = ""
       TextBox2.Text = ""
   End Sub
End Class


La Suerte Favorece a los Niños,a los Locos y a las Naves llamadas Enterprise....

Keyen Night

#7
Si guardas los users y sus respectivas contraseñas en los archivos de configuración de tu aplicación cualquiera podrá tener acceso a esos datos por que estan en un archivo que no está cifrado en %AppData% en una carpeta con el nombre de tu software. Estas trajando con seguridad, me refiero estas trabajando con Logins y contraseñas, quiere decir que el sistema debe ser 99.99% seguridad total y que ese 0.01% que existira en todos los sistemas no se llegue a descubrir nunca :xD

Te recomiendo, ocupas mucho código de la manera en que lo estás haciendo un If por cada usuario, entonces imaginate que Facebook controlará los logins de sus usuarios de 1 If por cada usuario :-X

Puedes pasarle un Hash, como MD5, hay otros más seguros pero con ese te basta, a la contraseña junto con el usuario y lo guardes en un archivo, de está forma una línea por usuario, así cuando un usuario se vaya a conectar se le cálcula el Hash a la contraseña con el usuario que está colocando y se busca que el Hash exista en el archivo donde guardar los Logins, sino existe entonces el usuario no existe o la contraseña es incorrecta, puedes aplicar lo mismo a una base de datos. Si no sabes que es un Hash http://es.wikipedia.org/wiki/MD5, hay miles de otras formas pero esta en la más sencilla.
La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...

bitaziko

Cita de: Keyen Night en 29 Septiembre 2011, 21:12 PM


ocupas mucho código de la manera en que lo estás haciendo un If por cada usuario, entonces imaginate que Facebook controlará los logins de sus usuarios de 1 If por cada usuario :-X


XD bueno no lo explique antes no es un If por cada usuario hay solo hay 1 user y 1 password pasa que le he agregado al loginforn 2 checkbox para que me recuerde el usuario y la contraseña
La Suerte Favorece a los Niños,a los Locos y a las Naves llamadas Enterprise....

Keyen Night

Igual usa la forma que te digo para guardar la información es más seguro, y con lo de recordar el usuario eso si lo puedes hacer en la configuración igualmente guardando el Hash del usuario recordado.
La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...