删除roleClaims针对一个查询快照asp.net核心
我正在使用asp.net coreRoleManager执行基于roleClaim(权限)的授权。下面的代码工作正常,但执行起来需要太多时间,因为我一次删除一个roleclaim。但我想删除roleclaims(权限)一次性删除查询,有人能帮我吗?谢谢,这是事先准备好的 //我的控制器代码删除roleClaims针对一个查询快照asp.net核心,asp.net,asp.net-core,role-manager,Asp.net,Asp.net Core,Role Manager,我正在使用asp.net coreRoleManager执行基于roleClaim(权限)的授权。下面的代码工作正常,但执行起来需要太多时间,因为我一次删除一个roleclaim。但我想删除roleclaims(权限)一次性删除查询,有人能帮我吗?谢谢,这是事先准备好的 //我的控制器代码 public async Task<IActionResult> SaveRolePermission([FromBody] RoleClaimVM model) {
public async Task<IActionResult> SaveRolePermission([FromBody] RoleClaimVM model)
{
try
{
if (string.IsNullOrEmpty(model.RoleId) || model.ClaimValues.Length <= 0) return Json(new { status = false });
var role = await _roleManager.FindByIdAsync(model.RoleId);
if (role == null) return null;
var roleClaims = _roleManager.GetClaimsAsync(role).Result.ToList();
if (roleClaims.Any())
{
foreach (var item in roleClaims)
{
await _roleManager.RemoveClaimAsync(role, item);
}
}
foreach (var item in model.ClaimValues)
{
await _roleManager.AddClaimAsync(role, new Claim(CustomClaimtypes.Permission, item.ToLower()));
}
return Json(new { status = true });
}
catch (Exception)
{
return Json(new { status = false });
}
}
公共异步任务SaveRolePermission([FromBody]RoleClaimVM模型)
{
尝试
{
if(string.IsNullOrEmpty(model.RoleId)| | model.ClaimValues.Length