【发布时间】:2015-05-29 05:33:41
【问题描述】:
我正在使用 c#、MVC 和 ASP.NET Identity 中的此控制器代码:
var role = (from r in context.Roles where r.Name.Contains("SuperAdmin") || r.Name.Contains("ReadOnlyAdmin") select r).FirstOrDefault();
var roleusers = context.Users.Where(x => x.Roles.Select(y => y.RoleId).Contains(role.Id)).ToList();
if (roleusers.Find(x => x.Id.Equals(userDetails.Id)) != null)
{
await UserManager.AddToRoleAsync(userDetails.Id, "User");
}
目标是让它检查用户是“SuperAdmin”还是“ReadOnlyAdmin”,如果不是,则将其分配给用户。我不是 lambdas 最棒的,所以我敢肯定这可能是愚蠢的,但我不知道出了什么问题!谁能给我指导?
编辑: 澄清 - 这是管理员编辑系统中的其他人,而不是他自己。
编辑 2: 此代码路径用于更新和注册新用户。以下建议允许保留现有用户,但新用户没有角色。很抱歉之前没有更清楚地说明这一点。
【问题讨论】:
标签: c# asp.net asp.net-identity