none
¿Cómo ocultar o mostrar menú de acuerdo al perfil del usuario? RRS feed

  • Pregunta

  • Hola a todos tengo una consulta y es la siguiente:

        Deseo ocultar en el menú algunos item de acuerdo al perfil del usuario logueado.

    Aquí esta mi login.

    public ActionResult Login(string usuario,string contraseña)
            {
                if(!string.IsNullOrEmpty(usuario) && !string.IsNullOrEmpty(contraseña))
                {
                    var objUsuario = db.Database.SqlQuery<SeUsuario>("sp_login @param1, @param2",
                                                            new SqlParameter("@param1", usuario),
                                                            new SqlParameter("@param2", contraseña)).FirstOrDefault();
                    if (objUsuario != null)
                    {
                        if (objUsuario.CodPerfil.Trim() == "SISTEMAS")
                        {
                            Session["usuario"] = objUsuario.CodUsuario;
                            FormsAuthentication.SetAuthCookie(objUsuario.CodUsuario, true);
                            return RedirectToAction("AsignarTicket", "Ticket");
                        }
                        else if ((objUsuario.CodPerfil.Trim() == "DESARROLLO"))
                        {
                            Session["usuario"] = objUsuario.CodUsuario;
                            FormsAuthentication.SetAuthCookie(objUsuario.CodUsuario, true);
                            return RedirectToAction("AtenderTicket", "Ticket");
                        }
                        else
                        {
                            Session["usuario"] = objUsuario.CodUsuario;
                            FormsAuthentication.SetAuthCookie(objUsuario.CodUsuario, true);
                            return RedirectToAction("Index", "Ticket");
                        }
    
                    }
                    else
                    {
                        return RedirectToAction("Index", new { message = "No Existen datos" });
                    }
                }
                else
                {
                    return RedirectToAction("Index", new { message = "Usuario y contraseña incorrecto" });
                }
            }

    Mi Html

    <ul class="sub-menu">
    <!-- Debe Mostrar si es un usuario en especifico-->
                <li>
                    <a href="@Url.Action("Index","Ticket")">
                        <i class="fa fa-ticket"></i>
                        Generar Ticket
                    </a>
                </li>
    <!-- Debe Mostrar si es un usuario SISTEMAS-->
            <li>
                <a href="@Url.Action("AsignarTicket","Ticket")">
                    <i class="fa fa-ticket"></i>
                    Asignar Ticket
                </a>
            </li>
    <!-- Debe Mostrar si es un usuario DESARROLLO-->
                <li>
                    <a href="@Url.Action("AtenderTicket","Ticket")">
                        <i class="fa fa-ticket"></i>
                        Atender Ticket
                    </a>
                </li>
            </ul>

    martes, 28 de julio de 2020 18:56

Todas las respuestas

  • Hola DUM28, 

      

    Gracias por levantar tu consulta en los foros de MSDN. Si lo que quieres es ocultar el <li> tag puedes utilizar 

    Esto en el html

    <li id="myID" runat="server"> <%-- ... --%> </li>

    esto en el codigo como tal para ponerlo en false para que no aparezca

    if (Bool) { myID.Visible = false; }


     Andres Aguilar

     ____________________________ 

      

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN sientase en la libertad de contactar  MSDNFSF@microsoft.com. 

     

    martes, 28 de julio de 2020 20:34
    Moderador
  • Estimado gracias por la ayuda, pero quisiera saber como darle una condición a mi menú para que muestre solo el item de acuerdo a mi perfil basándome en el controlador del método login.
    • Editado DUM28 martes, 28 de julio de 2020 20:58
    martes, 28 de julio de 2020 20:57
  • Hola DUM28, 

      

    A que te refieres con el item? cuales items quieres ocultar especificamente?

    ya la condicion por sesion la tienes ahora lo que falta es en ese mismo if, que ocultes los items que no quieres que se vean respectivamente.

     Andres Aguilar

     ____________________________ 

    martes, 28 de julio de 2020 23:18
    Moderador