¿Por qué User.Identity.IsAuthenticated siempre es falso?

programación


Hola a todos,
Quiero obtener el nombre de usuario a continuación

<pre lang="c#">

 public ActionResult Login(LoginModel model, string returnUrl)
        {
 if (User.Identity.IsAuthenticated)//this is get always false
            {
string user = User.Identity.Name;//here i need username
            }
  
            if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password,     persistCookie: model.RememberMe))
            {
                return RedirectToLocal(returnUrl);
            }

            // If we got this far, something failed, redisplay form
            ModelState.AddModelError("", "The user name or password provided is incorrect.");
            return View(model);
        }

User.Identity.IsAuthenticated always return false so userid comes always -1, I am not even able to short out my mistake, what mistake am doing and how can i overcome with this, please help me.. 

Solución 1

User.Identity.IsAuthenticated no se establecerá en verdadero hasta la siguiente solicitud después de llamar a FormsAuthentication.SetAuthCookie().

Consulte http://msdn.microsoft.com/en-us/library/twk5762b.aspx

El método SetAuthCookie agrega un ticket de autenticación de formularios a la colección de cookies o a la URL si CookiesSupported es falso. El ticket de autenticación de formularios proporciona información de autenticación de formularios para la siguiente solicitud realizada por el navegador.

Solución 2

Hola a todos, estaba probando la autenticación de cuentas de Microsoft con OWIN y tenga en cuenta que hay que poner la anotación Autorizar al menos en un controlador, espero que esto ayude

コメント

タイトルとURLをコピーしました