Autor
|
Tema: Login Form WinForm c# (Leído 8,429 veces)
|
evicar
Desconectado
Mensajes: 36
|
Estimados estoy tratando de buscar como generar un login form para mi proyecto winform... e googleado bastante e encontrado esto: http://ltuttini.blogspot.com/2010/05/login-usando-password-con-hash.htmlme paresio bastante interesante.. pero al momento de llevarlo a mi aplicacio tengo probblemas con UsuarioEntity: genere una clase llamada : class LoginService { public static bool Autenticar(string usuario, string password) { string sql = @"SELECT COUNT(*) FROM Usuarios WHERE NombreLogin = @nombre AND Password = @password"; using (SqlConnection conn = new SqlConnection ("Data Source=ENZZO-PC\\SQLEXPRESS;Initial Catalog=ISW;Integrated Security=True")) { conn.Open(); SqlCommand command = new SqlCommand (sql, conn ); command.Parameters.AddWithValue("@nombre", usuario); string hash = Helper.EncodePassword(string.Concat(usuario, password)); command.Parameters.AddWithValue("@password", hash); int count = Convert.ToInt32(command.ExecuteScalar()); if (count == 0) return false; else return true; } } public static UsuarioEntity Insert(string nombre, string apellido, string nombreLogin, string password) { UsuarioEntity usuario = new UsuarioEntity (); usuario.Nombre = nombre; usuario.Apellido = apellido; usuario.NombreLogin = nombreLogin; usuario.Password = password; return Insert(usuario); } public static UsuarioEntity Insert(UsuarioEntity usuario) { string sql = @"INSERT INTO Usuarios ( Nombre ,Apellido ,NombreLogin ,Password) VALUES ( @Nombre, @Apellido, @NombreLogin, @Password) SELECT SCOPE_IDENTITY()"; using (SqlConnection conn = new SqlConnection (ConfigurationManager .ConnectionStrings["default"].ToString())) { SqlCommand command = new SqlCommand (sql, conn ); command.Parameters.AddWithValue("Nombre", usuario.Nombre); command.Parameters.AddWithValue("Apellido", usuario.Apellido); command.Parameters.AddWithValue("NombreLogin", usuario.NombreLogin); string password = Helper.EncodePassword(string.Concat(usuario.NombreLogin, usuario.Password)); command.Parameters.AddWithValue("Password", password); conn.Open(); usuario.Id = Convert.ToInt32(command.ExecuteScalar()); return usuario; } } internal class Helper { public static string EncodePassword(string originalPassword) { MD5 md5 = MD5.Create(); byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(originalPassword); byte[] hash = md5.ComputeHash(inputBytes); return BitConverter.ToString(hash).Replace("-", ""); } } }
|
|
« Última modificación: 1 Diciembre 2010, 04:53 am por evicar »
|
En línea
|
|
|
|
.::IT::.
Desconectado
Mensajes: 167
|
Bueno te falda definir la clase UsuarioEntity. que segun: public static UsuarioEntity Insert(UsuarioEntity usuario) deberia ser : Public Class UsuarioEntity { string Nombre {get;set;} Apellido {get;set;} NombreLogin {get;set;} Password {get;set;} } Claro que tambien podrias hacerlo declarando variable privadas para cada propiedad.
|
|
« Última modificación: 1 Diciembre 2010, 05:14 am por .::IT::. »
|
En línea
|
Simplemente .::IT::.
|
|
|
evicar
Desconectado
Mensajes: 36
|
GRACIAS !!! SOLUCIONADO
Cerrar
|
|
|
En línea
|
|
|
|
.::IT::.
Desconectado
Mensajes: 167
|
GRACIAS !!! SOLUCIONADO
Cerrar
OK evicar, como recomendación para la seguridad de tu sistema deberías migrar ah Web Services y no conectarte a la base de datos directamente ya que la seguridad esta comprometida de manera irremediable(ya que la contraseña de conexión se encuentra en el programa cliente y .net es fácilmente descompilado), para incrementar un poco mas la seguridad usa el “dotfuscator community edition” y aun así estas vulnerable. Nota: Si estoy equivocado pro favor corregirme. Saludos!!!!!!
|
|
|
En línea
|
Simplemente .::IT::.
|
|
|
Siuto
Ex-Staff
Desconectado
Mensajes: 1.587
Que puedo decir??
|
Lindo code, andaba buscando algo asi, pero me surge una duda. Abriendo la SqlConnection dentro del using() en caso de que se produsca SqlException no se va a cerrar la conexión o si? Comentario offtopic, esto es feo: if (count == 0) return false; else return true; porque no hacer:
|
|
|
En línea
|
|
|
|
[D4N93R]
Wiki
Desconectado
Mensajes: 1.646
My software never has bugs. Its just features!
|
Siuto xD, me agarraste fuera de base, No me acuerdo si cierra la conexión si hay un exception dentro del using cuando usas SqlConnection.. Uhmmmm,, lo peor es que no tengo tiempo para probar. Si tienes un rato libre inténtalo y me cuentas Sino, intentaré probarlo el fin de semana. Es que ando demasiado full, son las 12 de la noche y ahora es que tengo tiempo para revisar el foro Un saludo!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
problema con login form
« 1 2 »
.NET (C#, VB.NET, ASP)
|
bitaziko
|
11
|
8,910
|
11 Octubre 2011, 19:12 pm
por bitaziko
|
|
|
Mostrar error de Login dentro de Form
PHP
|
KeyPy HH
|
7
|
14,585
|
24 Septiembre 2012, 06:00 am
por jdc
|
|
|
Comparar dos datagridview c# en winform
.NET (C#, VB.NET, ASP)
|
maraet
|
0
|
4,952
|
17 Noviembre 2012, 18:14 pm
por maraet
|
|
|
Ayuda con un Form Login
PHP
|
luiszr2009
|
2
|
2,516
|
23 Agosto 2013, 02:05 am
por juaqui
|
|
|
Problema al crear BD al cargar winform C#
.NET (C#, VB.NET, ASP)
|
CogolloOCB
|
0
|
1,798
|
7 Abril 2017, 04:30 am
por CogolloOCB
|
|