ASP.NET 5 MVC6 User.GetUserId()返回错误的id

我在ASP.NET 5中有一个注册用户的简单项目。 我试图通过扩展方法GetUserId()using System.Security.Claims命名空间获取当前登录用户的id。 不幸的是,这种方法使我不再存在id,我不知道为什么。

这是我的简单代码:

 var currentUserId = User.GetUserId(); 

方法结果:

在此处输入图像描述

数据库:

在此处输入图像描述

您很可能获得了仍然有效的身份validation票证,或者您获得了本地运行的其他站点的身份validation票证。 我会清除浏览器缓存和cookie并再次运行它。

另外,尝试更改cookie的名称,默认情况下它设置为.AspNet.Cookies ,如果您在本地运行多个应用程序,这可能会导致问题。 这引起了我的反响。

cookie名称可以像这样更改

 app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/Account/Login"), Provider = new CookieAuthenticationProvider { OnValidateIdentity = SecurityStampValidator.OnValidateIdentity( validateInterval: TimeSpan.FromMinutes(0), regenerateIdentity: (manager, user) => manager.GenerateUserIdentityAsync(user)) }, CookieName = "myAuthCookie", }); 

可以在此处找到有关它的MSDN文档。