在 Internet mvc 4 项目中,当以调试模式运行项目并登录到应用程序时,将识别之前分配的用户角色。我用于获取用户角色的功能是:
System.Web.Security.Roles.GetRolesForUser(currentUser.Identity.Name)
但是当我停止调试并再次以调试模式运行应用程序时,用户已通过身份验证,但 GetRolesForUser 返回字符串 [0]。为什么它会发生并且不返回角色?
在 Internet mvc 4 项目中,当以调试模式运行项目并登录到应用程序时,将识别之前分配的用户角色。我用于获取用户角色的功能是:
System.Web.Security.Roles.GetRolesForUser(currentUser.Identity.Name)
但是当我停止调试并再次以调试模式运行应用程序时,用户已通过身份验证,但 GetRolesForUser 返回字符串 [0]。为什么它会发生并且不返回角色?
我有同样的问题,我修复了它,改变了寻找角色的方式:
var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new PlutusDbContext()));
var user = manager.FindByName(currentUser.Identity.Name);
var userRoles = manager.GetRoles(user.Id);
PS:我正在使用 Microsoft.AspNet.Identity 2.0.1