Я нахожу, что если я добавлю пользователя в роль в ASP Identity, он не вступает в силу до тех пор, пока я не выйду из системы и не войду в систему. Есть ли что-то, что мне нужно сделать, чтобы обновить роли пользователя, не заставляя сначала выйти из системы?
Вот как я добавляю пользователя к роли.
var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
var userId = HttpContext.Current.User.Identity.GetUserId();
userManager.AddToRole(userId, roleName);
Затем, почти сразу, я перенаправляю пользователя к этому методу действия. Я могу сказать в базе данных, что меня добавили в правильную роль, но MVC по-прежнему перенаправляет меня на страницу входа. Однако, если я выйду из системы, зайдите в систему и попытайтесь перейти к этому методу действий, все будет хорошо.
[Authorize(Roles = RecoveryStandardRoles.ServiceProvider)]
public partial class CertifyController : Controller
{
#region Public Methods and Operators
public virtual ActionResult CompanyProfile()
{
return this.View();
}
#endregion
}
Спасибо, что нашли время, чтобы посмотреть на мой вопрос!