【发布时间】:2019-05-28 09:53:30
【问题描述】:
我有两个角色(freeUser、subscribedUser),当我尝试使用
从角色(订阅用户)中删除用户时 await UserManager.RemoveFromRoleAsync(subscription.UserId, RoleName.SubscribedUser);
它成功地将他从 AspNetUserRoles 表中删除,但是当我再次检查以查看用户是否使用订阅时
var roles = ((ClaimsIdentity)User.Identity).Claims
.Where(c => c.Type == ClaimTypes.Role)
.Select(c => c.Value);
var enumerable = roles as IList<string> ?? roles.ToList();
或使用User.IsInRole(RoleName.SubscribedUser)
真的回来了!即使我检查了 AspNetUserRoles 表并且他已被删除,该用户仍处于角色 subscribedUser 中
【问题讨论】:
-
删除您的cookies历史记录,检查不同的浏览器或重新启动应用程序。有时,会话会验证用户甚至不再存在于数据库中。
-
Closing and start 什么都没做,但是在我清理项目之后它工作了....所以这会导致生产环境出现问题吗?就像用户订阅结束时一样。
-
并将评论添加为答案,以便我接受。
标签: asp.net-mvc asp.net-web-api asp.net-identity asp.net-roles