我发现如果我将用户添加到ASP身份中的角色,它会在我退出并重新登录之后才会生效.我是否需要做一些事情来刷新用户的角色而不强迫用户登录先关掉?
以下是我将用户添加到角色的方式.
var userManager = new UserManager(new UserStore (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 }
感谢您花时间看我的问题!