1

在 Internet mvc 4 项目中,当以调试模式运行项目并登录到应用程序时,将识别之前分配的用户角色。我用于获取用户角色的功能是:

System.Web.Security.Roles.GetRolesForUser(currentUser.Identity.Name)

但是当我停止调试并再次以调试模式运行应用程序时,用户已通过身份验证,但 GetRolesForUser 返回字符串 [0]。为什么它会发生并且不返回角色?

4

1 回答 1

1

我有同样的问题,我修复了它,改变了寻找角色的方式:

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

于 2014-06-15T07:46:18.743 回答