ASP.NET - ayuda con inicio sesion

 
Vista:

ayuda con inicio sesion

Publicado por lala_mtts (3 intervenciones) el 27/08/2007 16:39:04
Hola a todos:

miren tengo un bdd, donde:

nombre: guarda el nombre de usuario
password: password del usuario
rol: tipo de usuario (1,2,3)

por lo que al ingresar al inicio de sesion debo ingresar el login y el pass, para luego, con el rol mandarlos a la pagina que les corresponda segun su rol

como hago eso?????????????????
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

RE:ayuda con inicio sesion

Publicado por eljhonb (69 intervenciones) el 28/08/2007 05:55:22
me imagino que es una aplicación web y que el login y password los capturas en textbox o el usuario es el usuario de windows con el que inició la sesión?
existen diversas formas, una sencilla es que en el on_load de tu página de inicio, creas una conexión a tu bd y ejecutas un stored procedure que busque la información del usuario en la base de datos, Si existe retorna una tabla con la información del usuario, sino, no retorna nada. el resultado de la consulta lo guardas en un dataset.
Espero te sirva de algo.
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:ayuda con inicio sesion

Publicado por lalal_mtts (3 intervenciones) el 28/08/2007 14:24:34
mira es una aplicacion web, y el login y el pass los capturo desde un textbox.
los datos ya los tengo en mi base de datos, por lo que tengo que limitarlos por medio del rol
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:ayuda con inicio sesion

Publicado por Javi. (9 intervenciones) el 28/08/2007 18:49:11
Creo que a lo que te refieres es a esto:

Con lo que introduzca en el text del login y el text del password accedes a la base de datos para que te devuelva el rol:

Select rol From mitabla where login=txtnombre.txt and password=txtpassword.txt

Luego ese rol lo puedes guardar en una variable de session por ejemplo: Session("rol")=rol

Y luego lo que tienes que hacer es, segun el rol, redireccionar a una pagina o a otra:

If Session("rol")=1 Then

Response.redirect (paginaderol1.aspx)

ElseIf Session("rol")=2 Then

Response.redirect(paginaderol2.aspx)

ElseIf Session("rol")=3 Then

Response.redirect("paginaderol3.aspx)
End If

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:ayuda con inicio sesion

Publicado por lala_mtts (3 intervenciones) el 30/08/2007 15:03:31
mira tengo este codigo, y no se como sacar el rol y pasarselo a una variable sesion, para luego preguntar por esa variable

cmd = New SqlCommand("Select rol from pass where nombre=@userName and password=@pass", conn)
cmd.Parameters.Add("@userName", Data.SqlDbType.Char, 30)
cmd.Parameters("@userName").Value = userName
cmd.Parameters.Add("@pass", Data.SqlDbType.Char, 10)
cmd.Parameters("@pass").Value = passWord

If ValidateUser(txtUserName.Value, txtUserPass.Value) Then
If Session("rol") = 1 Then
Response.Redirect("level/default.aspx", True)
Else
If Session("rol") = 2 Then
Response.Redirect("level_0/default.aspx", True)
Else
If Session("rol") = 3 Then
Response.Redirect("level_1/default.aspx", True)

Else
Response.Redirect("default.aspx", True)
End If
End If

End If
Else
Response.Redirect("default.aspx", True)
End If
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:ayuda con inicio sesion

Publicado por javi (9 intervenciones) el 30/08/2007 18:08:48
ya entiendo lo que pasa:

Tienes que ejecutar el cmd y recoger lo que te devuelve.

Te muestro como lo se yo pero no estoy seguro si habra otra forma mejor:

'Declaras un datareader para leer lo que te devuelve la consulta del cmd
Dim _SqlDataReader As SqlDataReader = cmd.ExecuteReader()

'mientras hayan datos para leer en el datareader
While _SqlDataReader.Read

'Para cada uno de los datos del datareader que seran los devueltos en la consulta
For i As Integer = 0 To _SqlDataReader.FieldCount - 1

'si es dbnull el campo, metemos nothing en la hashtable
If _SqlDataReader.GetValue(i) Is DBNull.Value Then

Session("rol")= Nothing

Else

Session("rol") = _SqlDataReader.GetValue(i)

End If

Next

End While

'Cerramos el datareader
_SqlDataReader.Close()
'Luego cierra la conexion (acuerdate de abrirla antes del hacer el cmd)

Como supongo que a ti el cmd solo te devolvera una fila prueba primero a hacer así:

If _SqlDataReader.GetValue(0) Is DBNull.Value Then

Session("rol")= Nothing

Else

Session("rol") = _SqlDataReader.GetValue(i)

End If


Lo que no se si tendras que hacer el while que te he puesto antes o no prueba a ver.

Espero que te funcione y sea lo que buscas.

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