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

Variables de Sesion

Estas en el tema de Variables de Sesion en el foro de .NET en Foros del Web. Hola! Se me presento lo siguiente: necesito identificar a cada uno de los usuarios por medio de un nomUsuario y contraseña, por cuestiones de seguridad ...
  #1 (permalink)  
Antiguo 28/12/2004, 13:32
Avatar de grisel  
Fecha de Ingreso: diciembre-2004
Ubicación: Mexico
Mensajes: 215
Antigüedad: 19 años, 4 meses
Puntos: 0
Pregunta Variables de Sesion

Hola!

Se me presento lo siguiente: necesito identificar a cada uno de los usuarios por medio de un nomUsuario y contraseña, por cuestiones de seguridad claro esta.

La aplicacion esta en c# trabajo con Webforms, he estado leyendo e investigando en internet acerca de las variables de sesion , mi pregunta es puedo traer arrastrando (si se puede decir asi) el nomUsuarrio y la contraseña del usuario por toda la aplicacion para la ejecucion de diferentes tareas o de que otra manera puedo llevar a cabo la seguridad en la aplicacion web?

Q problemas puede traer o beneficios el utlizar las variables de sesion?

se los agradesco de antemano!
saludos y bye!
  #2 (permalink)  
Antiguo 28/12/2004, 18:37
 
Fecha de Ingreso: abril-2004
Ubicación: Medellin, colombia
Mensajes: 83
Antigüedad: 20 años
Puntos: 0
Hola Como estas, claro que lo puedes hacer, aqui te pongo un ejemplo.
Puedes utilizar un archivo plano (.txt) donde puedes poner los parametros fundamentales del Connection String, los cuales son:
DataSource, Initial Catalog, User ID, Password.

Luego desde el Global.asax.cs, en el Session_Start puedes utilizar un Stream Reader que te recorra el archivo plano y que te asigne a las diferentes variables de Application y Session los valores del .txt.
POr ejemplo:
System.IO.StreamReader Leer = new System.IO.StreamReader("Ruta de la Aplicacion");
Application("SERVIDOR") = Leer.ReadLine();
Application("DataBase") = Leer.ReadLine();
.
.
Session("Usuario") = "";
Session("Clave") = "";

Despues cuando validas la entrada de un usuario, me refiero a cuando un usuario inicia Sesion o se logea en el momento de la validacion puedes asignarle el valor a las variables de Session("Usuario") y Session("Clave") claro esta, si corresponde con los usuarios autorizados de la base de datos(Seguridad).
Por ejemplo:

if (Validacion == "OK")
{
Session("Usuario") = this.txtUserSession.text;
Session("Clave") = this.txtPasswordSession.text;

}

Asi, podras utilizar estas variables de Session por toda la aplicacion.
Ojala te sirva, si tienes dudas me escribes

Saludos....
__________________
Juan Esteban Giraldo Gomez
El querer es poder
  #3 (permalink)  
Antiguo 29/12/2004, 04:56
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santa Rosa - La Pampa - Argentina
Mensajes: 9
Antigüedad: 19 años, 4 meses
Puntos: 0
Sonrisa Usuario en Variable Session

Hola Grisel, mira lo que te propongo a mi me sirve en VBNET, pero te puede servir para C# como una guia. Yo lo que hago es en el Login de Usuario pongo este codigo de abajo en el botón que intenta autentificar el usuario. La funcion Valida, a la cual se pasa los valores de el nombre de usuario y contraseña no es otra cosa que una función que valida que el usuario exista en tu base de datos y que la contraseña sea la correcta.

Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click
Dim EsValido As Boolean
EsValido=Valida(txtUsuario.Text, txtClave.Text)
If EsValido = True Then
FormsAuthentication.RedirectFromLoginPage(txtUsuar io.Text, False)
lblEstado.Text = ""
Else
lblEstado.Text = "Error en el nombre del usuario o en la contraseña"
End If
End Sub

Luego si quieres obtener el nombre de usuario en alguna otra página solo lo obtienes como en se muestra en la linea de abajo:

lblUsuario.Text = User.Identity.Name

"User.Identity.Name" te trae el nombre de usuario que guardaste con la sentencia "FormsAuthentication.RediRedirectFromLoginPage(txt Usuario.Text, False)"

Espero que te sirva de algo

Saludos.
  #4 (permalink)  
Antiguo 29/12/2004, 08:42
Avatar de grisel  
Fecha de Ingreso: diciembre-2004
Ubicación: Mexico
Mensajes: 215
Antigüedad: 19 años, 4 meses
Puntos: 0
Ok! muchas gracias , lo probare ya que estoy llegando a la parte de seguridad (que es la ultima parte de la aplicacion) y pues si me surge alguna duda o comentario se los hare llegar.

Buen dia y bye
  #5 (permalink)  
Antiguo 30/12/2004, 01:26
 
Fecha de Ingreso: diciembre-2004
Mensajes: 34
Antigüedad: 19 años, 4 meses
Puntos: 0
jaja creo q llege un poco tarde pero yo tengo un proceso parecido en uno de mis programas donde almacena el usuario y el pass en una base de datos y de ahi lo arrastra para saber si el usuario tiene privilegios o no, solo lo q hago es declarar una variable a nivel modulo para que cada vez que se abra un formulario revise esta variable y de acurdo a su valor habilita opciones o no aqui te dejo el codigo oara q lo cheques

este es el de el formulario principal o sea el de acceso:

txtusuario.Text = txtusuario.Text.ToUpper
BindingContext(DataSet11, "usuarios").Position = 0
Do Until txtusuario.Text = lblusuario.Text
If BindingContext(DataSet11, "usuarios").Position = BindingContext(DataSet11, "usuarios").Count - 1 Then
MessageBox.Show("Usuario inexistente")
txtusuario.Text = ""
txtpass.Text = ""
txtusuario.Focus()
Exit Sub
End If
BindingContext(DataSet11, "usuarios").Position += 1
Loop
If txtusuario.Text = lblusuario.Text And txtpass.Text = lblpass.Text And lbltipo.Text = "ADMINISTRADOR" Then
tipousuario = True
primario.Show()
Me.Hide()

como podras ver utilizo tres campos en base de datos y las mando a llamar con un bucle, este bucle compara el texto escrito por el usuario con unas etiquetas ocultas asi, cuando verifica que todos los datos son iguales da acceso al usuario


esta es mi variable en un modulo:

Module Module1
Public tipousuario As Boolean

y este es mi formulario que restringe la entrada:

Private Sub Form2_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated
If tipousuario = False Then
Button2.Enabled = False
Button5.Enabled = False
ElseIf tipousuario = True Then
Button2.Enabled = True
Button5.Enabled = True
End If
End Sub


espero te sirva

Exito!!!
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 11:11.