首页 > 解决方案 > User.Identity.GetUserId() 在我的所有控制器上返回 null

问题描述

在我的所有控制器中,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() 总是为空:(

谢谢,

查理

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

解决方案


推荐阅读