none
Si usuario = admin me lleve a una pagina , sino me lleve a otra RRS feed

  • Pregunta

  • hola les quiero consultar

    estoy armando una pagina con c# mvc y quiero que si el usuario cuando se loguea es "Administrador" me lleve a una pagina si el usuario llega a ser "juan" o cualquier otro dato me lleve a otra pagina

    imagino que puede ser con solo un if pero no se me ocurre como poner el valor del usuario... o si hay alguna otra forma sin if

    me podran ayudar 

    sino se entiende explico mejor porque lo hice sin tanto detalles a la pregunta

    martes, 9 de agosto de 2016 20:27

Respuestas

  • Hola Yan Eric Abramian

    Para lrealizar lo que mencionas, es necesario utilizar roles, revisa por favor este post:

    Roles ASP.NET MVC

    Saludos 


    Javier

    martes, 9 de agosto de 2016 20:46
  • Yan Eric Abramian,

    ¿Utilizas SimpleMemberShip o Identity como mecanismo de autenticación? De ser así, el componente de seguridad también expone los mecanismos necesarios para la autorización, por ejemplo, puedes hacer lo siguiente:

    public ActionResult Index()
    {
            if (User.IsInRole("ADMINISTRADOR"))
                return View("Index1");
            else
                return View("Index2");
    }



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    martes, 9 de agosto de 2016 20:53
  • Hola Yan Eric Abramian,

    Te refieres a algo como esto ?

            public ActionResult Index(string name)
            {
                if (name == "Administrador")
                    return RedirectToAction("Index", "Administrador");
    
                return RedirectToAction("Index", "Usuario");
            }

    Si es "Administrador" se dirige a la vista Index del controlador Administrador, caso contrario al Index del Usuario.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    martes, 9 de agosto de 2016 20:45

Todas las respuestas

  • Hola Yan Eric Abramian,

    Te refieres a algo como esto ?

            public ActionResult Index(string name)
            {
                if (name == "Administrador")
                    return RedirectToAction("Index", "Administrador");
    
                return RedirectToAction("Index", "Usuario");
            }

    Si es "Administrador" se dirige a la vista Index del controlador Administrador, caso contrario al Index del Usuario.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    martes, 9 de agosto de 2016 20:45
  • Hola Yan Eric Abramian

    Para lrealizar lo que mencionas, es necesario utilizar roles, revisa por favor este post:

    Roles ASP.NET MVC

    Saludos 


    Javier

    martes, 9 de agosto de 2016 20:46
  • Hola Yan Eric

    Claro que se puede hacer, pero debes organizar la estructura de los datos. 

    Puede ser que tengas un campo de tipo o clase. Por ejemplo:

    Clase = 1  (Esta es la primera línea: La Presidencia o la Gerencia)

    Clase = 2 (Vicepresidentes o Subgerentes)

    Y así en lo sucesivo.

    Incluso puede hacerse como tu lo planteas y muchas otras formas. Sólo que en el ejemplo anterior te muestro una forma conveniente de hacerlo.


    Miguel Torres



    martes, 9 de agosto de 2016 20:47
  • Yan Eric Abramian,

    ¿Utilizas SimpleMemberShip o Identity como mecanismo de autenticación? De ser así, el componente de seguridad también expone los mecanismos necesarios para la autorización, por ejemplo, puedes hacer lo siguiente:

    public ActionResult Index()
    {
            if (User.IsInRole("ADMINISTRADOR"))
                return View("Index1");
            else
                return View("Index2");
    }



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    martes, 9 de agosto de 2016 20:53
  • Hola Yan Eric

    Si usas la membresía, puedes apoyarte en una estructura como esta:

    [HttpPost] public ActionResult Entrar(LogOnModel model, string returnUrl) { if (ModelState.IsValid) { // Valida la existencia del usuario y la contraseña if (Membership.ValidateUser(model.UserName, model.Password)) { // Aquí cualquier cosa que quieras validar adicional // Ejemplo switch (modelo.ClaseUsuario) { case 1: // Usuario, puede ser otro tipo de dato como Case "Juan":

    // Si trabajas con áreas return RedirectToAction("Index", "Home", new { area = "" }); case 2: // Otro usuario ó Case "Pedro": return RedirectToAction("Index", "Home", new { area = "General" }); } } else { // Controlar esta sección: Porque se falló en la autenticación. } } else { // Controlar está sección: Porque el modelo no es válido. } return View(model); }

    Que debes adaptar a tus necesidaes


    Miguel Torres




    martes, 9 de agosto de 2016 21:14