Foros del Web » Programación para mayores de 30 ;) » .NET »

Como validar usuario con login y password en c#

Estas en el tema de Como validar usuario con login y password en c# en el foro de .NET en Foros del Web. Hola de nuevo foro!! Tengo una duda y es que....¿como puede hacer para programar lo que seria el tipico validar el login y password que ...
  #1 (permalink)  
Antiguo 28/04/2005, 09:42
 
Fecha de Ingreso: febrero-2005
Mensajes: 31
Antigüedad: 19 años, 2 meses
Puntos: 0
Pregunta Como validar usuario con login y password en c#

Hola de nuevo foro!!

Tengo una duda y es que....¿como puede hacer para programar lo que seria el tipico validar el login y password que introduzca el usuario y si este esta registrado le de permiso para iniciar una Sesion?
Lo de que se registre el usuario si que me funciona por tanto esta ya en la BD su informacion.
Es que no se que utilizar,he mirado por Internet pero es que todos los ejemplos son en VB y yo estoy programando en c# y no tengo ni idea.

Muchas gracias!!
  #2 (permalink)  
Antiguo 28/04/2005, 10:42
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Aqui puedes transformar codigo de un lenguaje a otro:

http://www.developerfusion.com/utili...sharptovb.aspx
  #3 (permalink)  
Antiguo 29/04/2005, 03:17
 
Fecha de Ingreso: febrero-2005
Mensajes: 31
Antigüedad: 19 años, 2 meses
Puntos: 0
Hola de nuevo!!!

He mirado esa página de convertir,la verdad es que me puede resultar de gran ayuda para la aplicación que stoy realizando,porque de VB no tengo ni idea y casi todo aparece en ese lenguaje.

Con respecto a lo de login y password he hecho algo poniendo un poco de imaginación y la verdad es que tiene buena pinta,creo no se,me compila bien pero cuando lo ejecuto se cuelga en el executenonquery() y me dice que "No se han especificado valores para algunos de los parámetros requeridos."Pero yo creo que si que se los estoy pasando en la SELECT que he hecho,son los valores de los 2textbox que son el correo y nombre,pero es que no se si se pone asi.

Gracias por vuestra ayuda!!

public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button boton_registro;
protected System.Web.UI.WebControls.LinkButton boton_aqui;
protected System.Web.UI.WebControls.TextBox correo;
protected System.Web.UI.WebControls.TextBox clave;
protected System.Web.UI.WebControls.Label mensaje;

private void Page_Load(object sender, System.EventArgs e)
{

private void boton_registro_Click(object sender, System.EventArgs e)
{

//ESTABLECEMOS TODAS LAS INTRUCCIONES DE LA BD
//MANEJO DE LA INFORMACION
string sqlquery = "SELECT * FROM Persona WHERE (correo=@correo AND clave=@clave)";
string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Inetpub\\wwwroot\\proyecto\\bd.mdb";
OleDbConnection con = new OleDbConnection(ConnectionString);
OleDbCommand cmd = new OleDbCommand(sqlquery,con);


con.Open();
cmd.ExecuteNonQuery();

object resultquery=cmd.ExecuteScalar();

if(int.Parse(resultquery.ToString())>0)
{
this.Session["UserVal"]=3;
this.Response.Redirect("WebForm3.aspx");
}
else
{
this.Response.Write("ERROR");
}

con.Close();
}
}
  #4 (permalink)  
Antiguo 29/04/2005, 03:41
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
donde le das valores a los parametros @correo y @clave?????? si sólo tienes eso claro que le estás pasando valore vacíos.
  #5 (permalink)  
Antiguo 29/04/2005, 04:46
 
Fecha de Ingreso: febrero-2005
Mensajes: 31
Antigüedad: 19 años, 2 meses
Puntos: 0
Hola!!

Es que como nunca lo he hecho esto pues voy un poco perdidilla..lo siento!!
He puesto eso para capturar los valores pero ahora me dice que hay error de sintaxis en la instruccion SQL pero no lo encuentro.

string correo=this.Request.Form["this.correo"];
string clave=this.Request.Form["this.clave"];

string sqlquery = "SELECT * FROM Persona WHERE (correo="+correo+" AND clave="+clave+")";
  #6 (permalink)  
Antiguo 29/04/2005, 05:01
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
bien, así si que asignas algo, pero seguro que se los puedes recuperar por Request.Form??? Es decir, tienen valores????
Puedes hacer esto para comprobarlo
string correo=this.Request.Form["this.correo"];
string clave=this.Request.Form["this.clave"];
response.write(correo);


ok??mira aber xq seguro que tu consulta queda así :
SELECT * FROM Persona WHERE (correo= AND clave=)";

Por eso te da el error.

Si es por eso, pon tu codigo entero y miraremos donde falla.
  #7 (permalink)  
Antiguo 29/04/2005, 05:20
 
Fecha de Ingreso: febrero-2005
Mensajes: 31
Antigüedad: 19 años, 2 meses
Puntos: 0
Tenias razon no estoy volcandole nada.Aqui te mando lo que tengo yo hecho pero es que si no es asi no se como recuperar los datos.


public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button boton_registro;
protected System.Web.UI.WebControls.LinkButton boton_aqui;
protected System.Web.UI.WebControls.TextBox correo;
protected System.Web.UI.WebControls.TextBox clave;
protected System.Web.UI.WebControls.Label mensaje;

private void Page_Load(object sender, System.EventArgs e)
{

private void boton_registro_Click(object sender, System.EventArgs e)
{

//Almacenamiento del correo y la clave
string correo=this.Request.Form["this.correo"];
string clave=this.Request.Form["this.clave"];
this.Response.Write(correo);

//ESTABLECEMOS TODAS LAS INTRUCCIONES DE LA BD
//MANEJO DE LA INFORMACION

string sqlquery = "SELECT * FROM Persona WHERE (correo="+correo+" AND clave="+clave+")";
string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Inetpub\\wwwroot\\proyecto\\bd.mdb";
OleDbConnection con = new OleDbConnection(ConnectionString);
OleDbCommand cmd = new OleDbCommand(sqlquery,con);


con.Open();
cmd.ExecuteNonQuery();

object resultquery=cmd.ExecuteScalar();

if(int.Parse(resultquery.ToString())>0)
{

this.Response.Redirect("WebForm3.aspx");
}
else
{
this.Response.Write("ERROR");
}

con.Close();
}
}
  #8 (permalink)  
Antiguo 29/04/2005, 05:29
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
porque no haces???:

string correo=correo.text
string clave=clave.text

??

Por cierto no cierras el page load antes de button_registro??????????

Yo lo podría así:


public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button boton_registro;
protected System.Web.UI.WebControls.LinkButton boton_aqui;
protected System.Web.UI.WebControls.TextBox correo;
protected System.Web.UI.WebControls.TextBox clave;
protected System.Web.UI.WebControls.Label mensaje;

private void Page_Load(object sender, System.EventArgs e)
{
}
private void boton_registro_Click(object sender, System.EventArgs e)
{

//Almacenamiento del correo y la clave
string correo=string correo=correo.text;
string clave=clave.text;

//ESTABLECEMOS TODAS LAS INTRUCCIONES DE LA BD
//MANEJO DE LA INFORMACION

string sqlquery = "SELECT * FROM Persona WHERE (correo="+correo+" AND clave="+clave+")";
string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Inetpub\\wwwroot\\proyecto\\bd.mdb";
OleDbConnection con = new OleDbConnection(ConnectionString);
OleDbCommand cmd = new OleDbCommand(sqlquery,con);


con.Open();
cmd.ExecuteNonQuery();

object resultquery=cmd.ExecuteScalar();

if(int.Parse(resultquery.ToString())>0)
{

this.Response.Redirect("WebForm3.aspx");
}
else
{
this.Response.Write("ERROR");
}

con.Close();
}
}
  #9 (permalink)  
Antiguo 05/05/2005, 04:55
 
Fecha de Ingreso: febrero-2005
Mensajes: 31
Antigüedad: 19 años, 2 meses
Puntos: 0
Hola!!

Ahora si que me coge los valores y no me da errores al compilar pero cuando introduzco el usuario y el password me sale error del servidor diciendome que:
Error de sintaxis (falta operador) en la expresión de consulta '([email protected] AND clave=prueba)' y la miro pero yo creo que esta bien.Y se para en el cmd.executenonquery().¿Eso porque lo hace?

Gracias
  #10 (permalink)  
Antiguo 05/05/2005, 05:17
 
Fecha de Ingreso: febrero-2005
Mensajes: 31
Antigüedad: 19 años, 2 meses
Puntos: 0
Vale,ya esta!!

Ya he averiguado el error,que bien!!por fin.Eran unas comillas que no se como lo he acertado pero que me alegro y tambien que la consulta tenia que hacerla del tipo COUNT (*) y ya me ha funcionado.

Muchas gracias por todo y hasta la proxima.
  #11 (permalink)  
Antiguo 05/05/2005, 05:30
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
ok suerte, me alegro de que todo rule
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 07:16.