使用ASP.NET标识确定Site.Master上用户标识的正确语法

使用ASP.NET标识确定Site.Master上用户标识的正确语法,asp.net,asp.net-identity,Asp.net,Asp.net Identity,我无法确定正确的语法来确定网站上的用户标识。主代码隐藏页 微软表示: 显示登录用户名:Microsoft ASP.NET Identity Framework在System.Security.Principal.IIIdentity上添加了扩展方法,允许您获取登录用户的用户名和用户ID。这些扩展方法在Microsoft.AspNet.Identity.Core程序集中定义。这些扩展方法将替换HttpContext.User.Identity.Name 虽然这可能有助于有经验的编码人员,但我希望使

我无法确定正确的语法来确定网站上的用户标识。主代码隐藏页

微软表示:

显示登录用户名:Microsoft ASP.NET Identity Framework在System.Security.Principal.IIIdentity上添加了扩展方法,允许您获取登录用户的用户名和用户ID。这些扩展方法在Microsoft.AspNet.Identity.Core程序集中定义。这些扩展方法将替换HttpContext.User.Identity.Name

虽然这可能有助于有经验的编码人员,但我希望使用正确的编码来替换:

HttpContext.Current.User.IsInRole("Administrator") 

由于您使用的是Microsoft.AsNetIdentity.Core,因此可以使用

 private UserManager<TenantUser> usermanager= new UserManager<TenantUser>(new UserStore<TenantUser>(_dbContext));
 bool isUserInRole = usermanager.IsInRole(Thread.CurrentPrincipal.Identity.GetUserId(), "Administrator");

您是否在数据库中定义了管理员角色。要展开:我正在使用带有标准模板的Web窗体项目。Tread,CurrentPrincipal.Identity.GetUserId返回Null。我还确定User.Identity.GetUserId在继承自System.web.UI.page的网页上使用时返回userId,但是用户。。。在网站母版上无法识别,因为它继承自母版页。感谢任何进一步的帮助。解决了,尼利斯的回答是解决方案。在我的测试中,我没有登录,因此用户为空。这个问题的代码和解决方法。谢谢