Asp.Net代码第一个角色提供程序停止工作

时间:2014-01-31 22:35:24

标签: c# asp.net-mvc ef-code-first roles

我首先在Visual Studio 2013中使用代码与Entity Framework 6和MVC 5.1。在不对web.config,模型类或与Roles直接相关的任何内容进行任何更改的情况下,我的应用程序失去了确定用户角色成员资格的能力。事实上,该项目的大部分都是样板MVC。我故意尽量保持简单。没什么好看的。

身份验证正常,并且 System.Web.HttpContext.Current.User.Identity 已正确填充。

输出 string.Join(“,”,Roles.GetRolesForUser())表示用户虽然已登录但不属于任何角色。

仔细检查AspNetRoles,AspNetUsers和AspNetUserRoles,表明用户与许多不同的角色相关联。

不超过24小时前,所有角色特定功能都正常运行,所以我至少知道在某些时候所有内容都已正确配置。

没有发布我的整个项目,不可能列出所有因素,但我希望其他人可能有类似的经验,并提供可能的解决方案。

1 个答案:

答案 0 :(得分:0)

看起来Code First角色提供程序需要启用延迟加载。我早先禁用了延迟加载。 base.Configuration.LazyLoadingEnabled = false; 。一旦启用此功能,角色提供程序就开始工作。