Rol oluşturmak için ASP.NET Identity 2 kullanıyorum ama HttpContext.GetOwinContext().GetUserManager<AppRoleManager>()
sonucu null. Daha sonra bu rolü oluşturamadım.HttpContext.GetOwinContext() GetUserManager <AppRoleManager>() dönüş null
Bu sorunu nasıl çözebilirim?
public class MVCController : Controller
{
public MVCController()
{
}
public AppRoleManager RoleManager // returns null ?!
{
get
{
return HttpContext.GetOwinContext().GetUserManager<AppRoleManager>();
}
}
public User CurrentUser
{
get
{
string currentUserId = User.Identity.GetUserId();
User currentUser = DataContextFactory.GetDataContext().Users.FirstOrDefault(x => x.Id.ToString() == currentUserId);
return currentUser;
}
}
public IAuthenticationManager AuthManager
{
get
{
return HttpContext.GetOwinContext().Authentication;
}
}
public AppUserManager UserManager
{
get
{
return HttpContext.GetOwinContext().GetUserManager<AppUserManager>();
}
}
}
My Denetleyici:
public class RoleAdminController : MVCController
{
[HttpPost]
public async Task<ActionResult> CreateRole([Required]string name)
{
if (ModelState.IsValid)
{
if (RoleManager != null) // RoleManager is null, why?!
{
IdentityResult result = await RoleManager.CreateAsync(new Role { Name = name });
if (result.Succeeded)
{
return RedirectToAction("Index");
}
else
{
AddErrorsFromResult(result);
}
}
}
return View(name);
}
}
AppRoleManager: Eğer ApplicationUserManager oluşturmak için bir yol OwinContext vererek kaçırdılar Büyük olasılıkla
public class AppRoleManager : RoleManager<Role, int>, IDisposable
{
public AppRoleManager(RoleStore<Role, int, UserRole> store)
: base(store)
{
}
public static AppRoleManager Create(IdentityFactoryOptions<AppRoleManager> options, IOwinContext context)
{
return new AppRoleManager(new RoleStore<Role, int, UserRole>(DataContextFactory.GetDataContext()));
}
}
'HttpContext.GetOwinContext() öğesini deneyin.(); ' –
trailmax
@trailmax: null döndürür. – Jahan
Get ve GetUserManager arasındaki fark nedir? – mjohnsonengr