Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/07/2008, 13:54
Avatar de ah_puch
ah_puch
 
Fecha de Ingreso: agosto-2005
Ubicación: Ecatepec, México
Mensajes: 180
Antigüedad: 18 años, 8 meses
Puntos: 3
Respuesta: Menus dinámicos.

Cita:
Iniciado por Rodro Ver Mensaje
Gracias por tu respuesta, pero yo necesito un ejemplo de un sistema de login(ingreso) que al autentificar al usuario este determine el tipo de rol que tiene asignado, los cuales pueden ser (Administrador, Agente, Vendedor, entre otros.), suponiendo que el usuario=xyz y el password=xyz, tiene asignado en la base el rol Administrador, el segun mi base
tambien tiene asignados ciertas opciones del menu y solo debera ver un menu con esas opciones.
Como puedo lograr eso? en visual basic 2005 con sql server.

GRacias por su ayuda.
OK. si mal no entiendo lo que nesesitas es validar a tus usuarios para esto puedes hacer lo siguiente

realizar una consuta a tu base de datos de donde comparas usuario contraseña y EXTRAES el rol
este lo almacenas en una cookie de la cual al cambiar de pagina vaz a extraer el dato de roll cuanto carge tu pagina.
en codigo seria algo asi:

Código:
dim cnx as new SqlConnection("tu string de conexion a la BD")
dim Adapter As new SqlDataAdapter
dim Ds As DataSet

Adapter = New SqlDataAdapter("SELECT roll " & _
                            "FROM  Users " & _
                            "WHERE (Password = 'xyz') AND " & _
                            "(User_Id = 'xyz')", cnx)
        Adapter.Fill(Ds, "Tabla")
        cnx.Close()
        Select Case Val(Ds.Tables("Tabla").Rows.Count)
                    MsgBox("Nombre de usuario o Contraseña Incorrecta")
            Case Else

                Dim Galleta As HttpCookie = New HttpCookie("Galleta")
                Galleta.Values.Add("User", Txt_User.Text)
                Galleta.Values.Add("Roll", Ds.Tables("Tabla").Rows(0).Item("Roll"))
                Galleta.Expires = DateTime.Now.AddMinutes(60)
                Response.AppendCookie(Galleta)
                Response.redirect("OtraPagina.Aspx")
        End Select
ya teniendo esto lo que vaz a hacer es recojer el valor de la cookie de la siguiente forma:

Código:
Function ChecaGalleta(ByVal Nombre, ByVal Valor) As String
        Dim Cookie As HttpCookie
        Dim Value As String
        Cookie = Request.Cookies(Nombre)
        If IsNothing(Cookie) Then
            Return ""
        Else
            Value = Cookie.Values.Get(Valor)
            Return Value
        End If
    End Function
cuando carge tu pagina lo que vaz a hacer es recuperar el valor del roll la instruccion es de la siguiente forma

dim roll as String = ChecaGalleta("Galleta","roll")


ya con esto puedes 1: redireccionar a otra pagina con los elementos para ese roll
2: con el control skmmenu que te mande pudes delimitar los elementos que se cargan o no dependiendo el roll

3: utiliza el control de menu que viene con el VS 2k5 para hacer exactamente lo mismo construir mientras se carga la pagina los elementos del menu que quieres que se visibles.


espero haber entendido esta vez tu pregunta y que esto se sea de ayuda....

FELICES CODIGOS.......
__________________
La programacion no es un trabajo, es un Arte
http://www.purodev.blogspot.com