none
Entender el manejo de MemberShip en el login de aplicacion RRS feed

  • Pregunta

  • Saludos compañeros, quiero comentar que en un proyecto creado con destino de Framework 4.5 no logré implementar identity, intenté mapear las tablas que genera el EntityFramework(webpage_UserinRoles, UserProfiles),terminé modificando la DefautlConectionString hacia un servidor local y me creó las tablas del MemberShip en mi DataContext.

    <connectionStrings>
        <add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;initial catalog=Almacen;integrated security=True" providerName="System.Data.SqlClient" />
        <add name="AlmacenEntities" connectionString="metadata=res://*/Models.DBAlmacen.csdl|res:

    >en el Registro se creo mis usuarios con el metodo por defecto:

    WebSecurity.CreateUserAndAccount(model.UserName, model.Password);
                        WebSecurity.Login(model.UserName, model.Password);

    >modifiqué el metodo login de la sig forma:

    [AllowAnonymous]
            public ActionResult Login(string returnUrl,LoginModel modlogin=null)
            {            
                ViewBag.ReturnUrl = returnUrl;
    }


    el post:

    [ValidateAntiForgeryToken]
            public ActionResult Login(LoginModel model, string returnUrl)
     if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
                {
                   ..
    return View(model);
    }

    Mi aplicacion está funcionando, sin embrago cuando logueo un usuario, permanece en la pagina login pero no muestra el usuario en el loginPartial hasta que cambio de pagina y recien logueado hay un bug que intentando loguear otro usuario enseguida de loguearme me bota éste mensaje



    La programacion en Microsoft cada ves se torna inalcanzable

    miércoles, 3 de junio de 2020 5:32

Respuestas

  • Hola, creo que tienes mal la última parte de tu método post. Deberías redirigir al returnUrl en vez de mostrar la vista. El atributo ValidateAntiForgeryToken es el que te bloquea ya que evita posibles ataques cross site. Lo dicho, en vez de devolver la vista (que es la de Login y por eso dices que no te navega) haz un redirect returnurl

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    miércoles, 3 de junio de 2020 9:56
    Moderador

Todas las respuestas

  • Hola, creo que tienes mal la última parte de tu método post. Deberías redirigir al returnUrl en vez de mostrar la vista. El atributo ValidateAntiForgeryToken es el que te bloquea ya que evita posibles ataques cross site. Lo dicho, en vez de devolver la vista (que es la de Login y por eso dices que no te navega) haz un redirect returnurl

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    miércoles, 3 de junio de 2020 9:56
    Moderador
  • Hola,

     

    gracias por confirmar que encontraste una respuesta a tu pregunta.

     

    Saludos cordiales

     

    Gabriel Castro

    jueves, 16 de julio de 2020 1:54