admin
This commit is contained in:
parent
8d6e40e67c
commit
42424a5b7f
@ -249,28 +249,39 @@ else{
|
|||||||
[Authorize]
|
[Authorize]
|
||||||
public async Task<ActionResult<post_user_v2>> getalladmin_v2(string? keyword, short pageindex=1, short pagesize = 10)
|
public async Task<ActionResult<post_user_v2>> getalladmin_v2(string? keyword, short pageindex=1, short pagesize = 10)
|
||||||
{
|
{
|
||||||
string id = this.User.FindFirst(ClaimTypes.NameIdentifier)!.Value;
|
if (this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin"))
|
||||||
var user = await userManager.FindByIdAsync(id);
|
|
||||||
var isadmin = await userManager.IsInRoleAsync(user, "admin");
|
|
||||||
List<string> roles = (List<string>)await userManager.GetRolesAsync(user);
|
|
||||||
if (isadmin)
|
|
||||||
{
|
{
|
||||||
var a = new all_record();
|
var users = userManager.Users;
|
||||||
|
var userList = new List<object>();
|
||||||
|
|
||||||
if (keyword == null)
|
foreach (var user in users)
|
||||||
{
|
{
|
||||||
a.cout = userManager.Users.Count();
|
var isAdmin = await userManager.IsInRoleAsync(user, "admin");
|
||||||
a.msg = await userManager.Users.Paginate(pageindex, pagesize).Select(a => new {a.Id,a.Email,a.chinaname,a.UserName,a.Integral,a.officium}).ToListAsync();
|
var roles = await userManager.GetRolesAsync(user);
|
||||||
|
|
||||||
|
userList.Add(new
|
||||||
|
{
|
||||||
|
user.Id,
|
||||||
|
user.Email,
|
||||||
|
user.chinaname,
|
||||||
|
user.UserName,
|
||||||
|
user.Integral,
|
||||||
|
user.officium,
|
||||||
|
isAdmin,
|
||||||
|
roles
|
||||||
|
});
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
var pagedUsers = userList.Skip((pageindex - 1) * pagesize).Take(pagesize).ToList();
|
||||||
|
var totalCount = userList.Count;
|
||||||
|
|
||||||
|
var result = new all_record
|
||||||
{
|
{
|
||||||
|
cout = totalCount,
|
||||||
|
msg = pagedUsers
|
||||||
|
};
|
||||||
|
|
||||||
a.cout = userManager.Users.Where(a=>a.chinaname==keyword||a.UserName==keyword||a.Email==keyword).Count();
|
return Ok(result);
|
||||||
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(new { data = a,isadmin, roles });
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -109,7 +109,7 @@ namespace asg_form.Controllers
|
|||||||
if (a)
|
if (a)
|
||||||
{
|
{
|
||||||
TestDbContext ctx = new TestDbContext();
|
TestDbContext ctx = new TestDbContext();
|
||||||
await ctx.news.AddAsync(new T_news { Title = req_News.Title, msg = req_News.msg, FormName = user.UserName ,time=DateTime.Now,Type=req_News.Type});
|
await ctx.news.AddAsync(new T_news { Title = req_News.Title, msg = req_News.msg,Type=req_News.Type, FormName = user.UserName ,time=DateTime.Now});
|
||||||
await ctx.SaveChangesAsync();
|
await ctx.SaveChangesAsync();
|
||||||
return "ok!";
|
return "ok!";
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user