From 8d6e40e67cc32abdcbe79397552e03389344bcfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=82=9C=E7=BF=94?= <2307953404@qq.com> Date: Sun, 18 Aug 2024 17:24:04 +0800 Subject: [PATCH] change2.0 --- asg_form/Controllers/Dbset.cs | 1 + asg_form/Controllers/admin.cs | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/asg_form/Controllers/Dbset.cs b/asg_form/Controllers/Dbset.cs index 022cff8..ddeed1e 100644 --- a/asg_form/Controllers/Dbset.cs +++ b/asg_form/Controllers/Dbset.cs @@ -87,6 +87,7 @@ namespace asg_form.Controllers builder.Property(e => e.msg).IsRequired(); builder.Property(e => e.Title).IsRequired(); builder.Property(e => e.time).IsRequired(); + builder.Property(e => e.Type).IsRequired(); } } diff --git a/asg_form/Controllers/admin.cs b/asg_form/Controllers/admin.cs index 3a14879..fb99000 100644 --- a/asg_form/Controllers/admin.cs +++ b/asg_form/Controllers/admin.cs @@ -249,9 +249,14 @@ else{ [Authorize] public async Task> getalladmin_v2(string? keyword, short pageindex=1, short pagesize = 10) { - if (this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin")) + string id = this.User.FindFirst(ClaimTypes.NameIdentifier)!.Value; + var user = await userManager.FindByIdAsync(id); + var isadmin = await userManager.IsInRoleAsync(user, "admin"); + List roles = (List)await userManager.GetRolesAsync(user); + if (isadmin) { var a = new all_record(); + if (keyword == null) { a.cout = userManager.Users.Count(); @@ -264,7 +269,7 @@ else{ a.cout = userManager.Users.Where(a=>a.chinaname==keyword||a.UserName==keyword||a.Email==keyword).Count(); a.msg = await userManager.Users.Where(a => a.chinaname == keyword || a.UserName == keyword || a.Email == keyword).Paginate(pageindex, pagesize).Select(a => new { a.Id, a.Email, a.chinaname, a.UserName, a.Integral, a.officium }).ToListAsync(); } - return Ok(a); + return Ok(new { data = a,isadmin, roles }); } else