我有一个使用新身份模型的 ASP.Net MVC 5 应用程序。一切看起来都在工作,但是,用户的角色集合始终不包含任何项目,并且 User.IsInRole 始终返回 false。
我可以使用 UserManager.AddToRole(identity, "Admin");
成功地为用户添加角色
这会产生:http://imgur.com/vobtgO2
该模型似乎是正确的:
http://imgur.com/0csxrZm
我试过在 Database Context 类中强制延迟加载,但这没有任何区别。
是否需要执行任何其他配置步骤来将角色与用户关联?我正在使用开箱即用的 IdentityRole 类,而我的标准 ApplicationUser 类继承了 IdentityUser。
任何帮助将不胜感激,因为我已经浪费了太多时间。
最佳答案
事实证明,问题在于缺少延迟加载,尽管我在类的构造函数中将 LazyLoadingEnabled 设置为 true。
需要在 onmodelcreating 方法中启用延迟加载:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
this.Configuration.LazyLoadingEnabled = true;
感谢您的所有投入。
关于asp.net-mvc - ASP.Net MVC 5 身份角色添加到数据库但 User.IsInRole 总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22917665/