31
Oct

Crear Login en WinForms

Lo primero que debemos hacer es crear en nuestra base de datos (en este caso vamos a utilizar la base de datos Northwind) las tablas necesarias para la creacion de usuarios y roles.
Para esto vamos a abrir la consola: Inicio/Ejecutar… cmd
Debemos llegar hasta donde tenemos instalado el FrameWork:

cd \windows\Microsoft.net\framework\v2.0.50727

Luego debemos ejecutar el siguiente comando:

aspnet_regsql.exe -E -S localhost -d Northwind -A all -sqlexportonly c:\membership.sql

De esta forma creamos un script de sql llamado membership en C:
Debemos abrirlo y ejecutarlo en el SQL Server Management Studio para crear las tablas necesarias en nuestra base de datos.

En nustra aplicación Windows debemos crear el archivo App.config, para esto simplemente agregamos un nuevo Archivo de configuración de aplicación a nuestro proyecto.
Este debe quedar de la siguiente forma:

<?xml version=”1.0″ encoding=”utf-8″ ?>
<configuration>
<system.web>
<membership defaultProvider=”SqlProvider”>
<providers>
<clear />
<add name=”SqlProvider” type=”System.Web.Security.SqlMembershipProvider”
connectionStringName=”MiConnectionString” applicationName=”NombreAplicacion”
enablePasswordRetrieval=”false” enablePasswordReset=”false”
requiresQuestionAndAnswer=”false”
requiresUniqueEmail=”true” passwordFormat=”Hashed” />
</providers>
</membership>
</system.web>
<connectionStrings>
<add name=”MiConnectionString”
connectionString=”Mi string de conección a la base de datos”
providerName=”System.Data.SqlClient” />
</connectionStrings>
</configuration>

Al proyecto debemos agregarle una nueva referencia a System.Web

Login Winform

En el codigo de nuestra ventana de autenticación agregamos el espacio de nombres System.Web.Security

Para crear nuevos usuarios utilizaremos el siquiente codigo:

try
{
Membership.CreateUser(“Usuario”, “Contra$ena1”, “mail@mail.com”);
}
catch(Exception es)
{
MessageBox.Show(es.ToString());
}

Para validar a nuestros usuarios el codigo seria el siguiente:

if (Membership.ValidateUser(txtUsuario.Text, txtContrasena.Text))
{
MessageBox.Show(“Usuario válido”);
}
else
{
MessageBox.Show(“Usuario no válido”);
}

Con esto ya tendriamos nuestro Login pronto.