User.Identity.GetUserId()在我所有的控制器上都返回null

时间:2019-04-01 14:41:54

标签: asp.net-mvc asp.net-identity

在我所有的控制器中,User.Identity.GetUserId()返回null。

“我的用户”是自定义用户,定义为:

 public class ApplicationUser : IdentityUser, IPrincipal
    {

        public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager,
            string authentificationType)
        {
            // Notez qu'authenticationType doit correspondre à l'élément défini dans CookieAuthenticationOptions.AuthenticationType
            var userIdentity = await manager.CreateIdentityAsync(this, authentificationType);
            // Ajouter les revendications personnalisées de l’utilisateur ici
            var nameIdentifierClaim = new Claim(ClaimTypes.Name, Id);
            userIdentity.AddClaim(nameIdentifierClaim);

            return userIdentity;
        }

        public bool IsInRole(string role)
        {
            return false;
        }

        public IIdentity Identity { get; private set; }

        public bool AccessEnabled { get; private set; }

        /// <summary>
        /// Définition de l'identité de l'utilisateur
        /// </summary>
        public void DefineIdentity()
        {
            Identity = new GenericIdentity(Id);
        }
    }

我不明白为什么User.Identity.GetUserId()总是为null:(

谢谢

查理

0 个答案:

没有答案