Make sure you have the necessary data in your database. You got to be sure that the role is in the "AspNetRoles" table and the user is linked in the "AspNetUserRoles" table. To make sure you have data, you can use following seeds:
public static class RoleSeeder
{
public static void Seed()
{
CreateRole("Admin", "Administratie", "Administratie");
...
}
private static void CreateRole(string name, string description, string group)
{
using (var db = new DbContext())
{
if (!db.Roles.Any(r => r.Name == name))
{
var role = new Role { Name = name, Description = description, Group = group };
var store = new RoleStore<Role>(db);
var manager = new RoleManager<Role>(store);
manager.Create(role);
}
else
{
var store = new RoleStore<Role>(db);
var manager = new RoleManager<Role>(store);
var dbRole = manager.FindByName(name);
dbRole.Description = description;
dbRole.Group = group;
manager.Update(dbRole);
}
}
}
}
No reason to write your own role manager.