ASP.NET - Pregunta sobre autenticación

 
Vista:

Pregunta sobre autenticación

Publicado por pablo (8 intervenciones) el 20/11/2010 20:28:52
Hola, qué tal?

Estoy mirando un poco el tema de la autenticación en ASP.NET y he visto una cosa que es el vale o ticket de autenticación.

Antes la cookie me la creaba directamente así:

Session["user"] = txtUser.Text;
Session["pass"] = txtPass.Text;

Esto me creaba una cookie (del tipo ASP.NET_SessionId) y ahora lo que hago es quitar eso y poner:

FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
txtUser.Text,
DateTime.Now,
DateTime.Now.AddMinutes(30), true, strUserData, FormsAuthentication.FormsCookiePath);

Esto me genera una cookie de otro tipo (ASPXAUTH).

Tengo dos preguntas:

1) Con respecto al primer tipo, si pongo:

Session["user"] = txtUser.Text;
Session["pass"] = txtPass.Text;

sólo me crea una cookie...porqué sólo crea una cookie si tengo una session para user y otra para pass, debería crear dos no?...o es que crea una sola cookie por aplicación aunque haya puesto varios valores(user, pass)?

2) Qué diferencia hay entre el hacer la autenticación de una forma (Session["user"]...) y hacerla de la otra forma(con el FormsAuthenticationTicket)?...qué ventajas/inconvenientes hay?...lo pregunto por decidirme a usar una u otra.

Graciassss
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de roger

RE:Pregunta sobre autenticación

Publicado por roger (311 intervenciones) el 21/11/2010 02:26:17
en realidad hacer Session["user"] no es hacer autenticacion, la sesion es simplemente un mecanismo de asp.net para almacenar valores que persistan entre las peticiones que se hacen al servidor. Cuando utilizas FormsAuthentication es porque elegiste el modo de autenticacion FORMS (tambien hay integrada de windows, passport y no recuerdo cual mas), entonces la manera correcta en este modelo es redirigir al usuario autenticado mediante el metodo FormsAuthentication.RedirectFromLoginPage, en todo caso, lo que debe quedar claro es que el uso de Session no lleva implicito el modelo de autenticacion, con cualquier modelo de autenticacion puedes usar variables de sesion.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pregunta sobre autenticación

Publicado por pablo (8 intervenciones) el 27/11/2010 13:23:05
El Session["user"] no sé si vale para hacer autenticación, pero el caso es que me vale para validar si es un usuario permitido o no y dejarle entrar o no. Lo que no entiendo muy bien es el otro tipo de autenticación, el de los ticket y si tiene alguna utilidad especial; si merece la pena utilizarlo y si es así ¿porqué?...porque de momento me apaño bien con las variables de Session. Los valores que deberé tener almacenados mientras el usuario esté conectado son el usuario, password y los roles que tiene el usuario. ¿Me vale con utilizar las variables de Session o sería mejor utilizar otra cosa (¿quizás puede ser un problema si mi página llega a tener muchos usuarios conectados?...ni idea)?

Graciasss
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de roger

RE:Pregunta sobre autenticación

Publicado por roger (311 intervenciones) el 30/11/2010 13:11:43
si es necesario almacenar esa informacion para el usuario, no tienes problemas en tenerlos allí en sesion, siempre y cuando lo que almacenes no tenga un tamaño muy grande (una lista de mil roles o cosas por el estilo, es cuestion de probar rendimiento), lo de la autenticacion por tickets, no se si te refieres al modo "Forms", que es el modo de autenticacion normalmente usado para las aplicaciones en donde tenemos nuestra lista de usuarios almacenados en alguna base de datos y nosotros mismos hacemos la autenticacion y autorizacion del usuario. no seria conveniente usarlo por ejemplo en entornos de intranet, en donde normalmente se aconseja el modo de autenticacion integrada de windows, ya que el mismo windows determinara la validez del usuario al tratar de ingresar a las paginas de la aplicación.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pregunta sobre autenticación

Publicado por Pablo (8 intervenciones) el 30/11/2010 20:04:49
Con lo de la autenticación usando tickets me refería a esto que utilizo:

FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
txtUser.Text,
DateTime.Now,
DateTime.Now.AddMinutes(30), true, strUserData, FormsAuthentication.FormsCookiePath);

No lo conocía y lo ví en una página hace unos días. Por eso preguntaba para qué servía o que utilidad tiene. Si es un método de autenticación en sí o sirve como complemento a otras cosas...¿?

Mis desarrollos serán para páginas web pero no intranets (de momento)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de roger

RE:Pregunta sobre autenticación

Publicado por roger (311 intervenciones) el 30/11/2010 22:00:56
no es un metodo de autenticacion, es una clase utilizada cuando se trabaja con el metodo de autenticacion "Forms", y sirve para que ASP.NET identifique el usuario que esta autenticado en la aplicación.

http://support.microsoft.com/kb/910443

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar