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

donde esta el fallo??

Estas en el tema de donde esta el fallo?? en el foro de .NET en Foros del Web. es para una autentificacion pero me redirecciona a la pagina del login: private void submit_ServerClick(object sender, System.EventArgs e) { // Initialize FormsAuthentication, for what it's ...
  #1 (permalink)  
Antiguo 07/04/2005, 07:55
Avatar de Nombela  
Fecha de Ingreso: abril-2005
Mensajes: 611
Antigüedad: 19 años, 1 mes
Puntos: 1
donde esta el fallo??

es para una autentificacion pero me redirecciona a la pagina del login:

private void submit_ServerClick(object sender, System.EventArgs e)
{
// Initialize FormsAuthentication, for what it's worth
FormsAuthentication.Initialize();

// Create our connection and command objects
string connectionString = ConfigurationSettings.AppSettings["conexion"];
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM Usuarios WHERE UsLogin=@UsLogin " +
"AND UsPass=@UsPass";
// Fill our parameters
cmd.Parameters.Add("@UsLogin", SqlDbType.NVarChar, 50).Value = txtusuario.Value;
cmd.Parameters.Add("@UsPass", SqlDbType.NVarChar, 50).Value = txtpassword.Value;

// Execute the command
conn.Open();
//men.alert(cmd.CommandText);
SqlDataReader reader = cmd.ExecuteReader();
if (reader.Read())
{
// Create a new ticket used for authentication
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1, // Ticket version
txtusuario.Value, // Username associated with ticket
DateTime.Now, // Date/time issued
DateTime.Now.AddMinutes(30), // Date/time to expire
true, // "true" for a persistent user cookie
reader.GetString(1), // User-data, in this case the roles
FormsAuthentication.FormsCookiePath);// Path cookie valid for

// Encrypt the cookie using the machine key for secure transport
string hash = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(
FormsAuthentication.FormsCookieName, // Name of auth cookie
hash); // Hashed ticket

// Set the cookie's expiration time to the tickets expiration time
if (ticket.IsPersistent) cookie.Expires = ticket.Expiration;

// Add the cookie to the list for outgoing response
if (cooky.Checked) Response.Cookies.Add(cookie);

// Redirect to requested URL, or homepage if no previous page
// requested
string returnUrl = "Default.aspx";
if (returnUrl == null) returnUrl = "/";

// Don't call FormsAuthentication.RedirectFromLoginPage since it
// could
// replace the authentication ticket (cookie) we just added
Response.Redirect(returnUrl);
}
else
{
int maxLoginAttempts = (int)Session["MaxLoginAttempts"];
if (Session["LoginCount"].Equals(maxLoginAttempts))
{
//mensaje.alert("Ha excedido el numero de intentos para acceder");
msg.Text="Ha excedido el numero de intentos para acceder";
msg.Visible=true;
}
else
{
//mensaje.alert("Error al intentar logarse");
msg.Text="Error al intentar logarse";
msg.Visible=true;
// Track the number of login attempts
int loginCount = (int)Session["LoginCount"];
loginCount += 1;
Session["LoginCount"] = loginCount;
}
}
reader.Close();
conn.Close();
}
  #2 (permalink)  
Antiguo 07/04/2005, 08:27
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Solo para probar...
cambia ésto:

Cita:
// Add the cookie to the list for outgoing response
if (cooky.Checked) Response.Cookies.Add(cookie);

por simplemente ésto:

Cita:
// Add the cookie to the list for outgoing response
Response.Cookies.Add(cookie);
Porque si lo está checked no se está haciendo el write de la cookie... y cuando intente buscar la autenticacion no va a encotrar nada y por eso posiblemente te esté mandando a la página de LogIn

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 07/04/2005, 09:27
Avatar de Nombela  
Fecha de Ingreso: abril-2005
Mensajes: 611
Antigüedad: 19 años, 1 mes
Puntos: 1
Estabas en lo cierto

Has acertado de lleno, era xq no solia seleccionar el check box. Y yo ke me habia estado comiendo la cabeza con mazo de otras cosas. :-p
Gracie mile
  #4 (permalink)  
Antiguo 07/04/2005, 09:34
Avatar de Nombela  
Fecha de Ingreso: abril-2005
Mensajes: 611
Antigüedad: 19 años, 1 mes
Puntos: 1
Pero porque???

No entiendo xq cuando no se le instala la cookie le devuelve a la pagina de origen???
  #5 (permalink)  
Antiguo 07/04/2005, 09:49
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
No entiendo xq cuando no se le instala la cookie le devuelve a la pagina de origen???
Porque con la cookie es el medio que se utiliza en los forms para saber si un usuario está o no autenticado..

Y si te encuentras con que algunos usuarios no admitan cookies puedes forzarlos a que se escriba por querystring la cookie (cookieless en el web.config)

Salu2
  #6 (permalink)  
Antiguo 07/04/2005, 10:09
Avatar de Nombela  
Fecha de Ingreso: abril-2005
Mensajes: 611
Antigüedad: 19 años, 1 mes
Puntos: 1
escribir la cookie por querystring

y para saber si un usuario acepta cookies o no??
xq si ke me interesa que algunos se autentifiquen con cookie pero los ke no puedan pues no.
Gracias por tu desinteresada colaboracion.
  #7 (permalink)  
Antiguo 07/04/2005, 10:34
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Colocarías ésto en tu web.config dentro de system.web

Cita:
<sessionState cookieless="true"
...
...
/>
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:20.