我在使用ASPNET Identity 2的MVC应用程序中使用Ninject。
登录,注销,更新密码等都运行正常。但是,如果我更新数据库中的用户名,ApplicationUserManager
似乎正在缓存用户信息。
这是注册身份服务的代码:
private void RegisterServices()
{
kernel.Bind<IHttpModule>().To<HttpApplicationInitializationHttpModule>();
var dbContext = kernel.Get<ApplicationDbContext>();
kernel.Bind<IUserStore<ApplicationUser>>().To<UserStore<ApplicationUser>>().WithConstructorArgument("context", dbContext);
kernel.Bind<IAuthenticationManager>().ToMethod(x => HttpContext.Current.GetOwinContext().Authentication);
}
我已在GitHub上发布了一个示例解决方案。 WebApplication1
无DI工作,WebApplication2
Ninject显示缓存行为。
任何有关在DI中使用ASPNET身份的建议都将受到赞赏。