如何获取列表asp.net web API身份用户(以及删除、放置)..用于ASP.NET WEB API?

euoag5mw  于 2023-11-20  发布在  .NET
关注(0)|答案(2)|浏览(120)

IdentityModels.cs

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("DefaultConnection", throwIfV1Schema: false)
    {

    }

字符串
ServiceController.cs

public class ServiceController : ApiController
{
    

    [Route("api/user/register")]
    [HttpPost]
    public IdentityResult Register(AccountModel model)
    {
        var userStore = new UserStore<ApplicationUser>(new ApplicationDbContext());
        var manager = new UserManager<ApplicationUser>(userStore);
        var user = new ApplicationUser() { UserName = model.UserName, Email = model.Email };
        user.PhoneNumber = model.PhoneNumber;
        user.FullName = model.FullName;
        user.TcNo = model.TcNo;
        manager.PasswordValidator = new PasswordValidator
        {
            RequiredLength = 3
        };
        IdentityResult result = manager.Create(user, model.Password);
        return result;
        
    }


Web.config

<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=DESKTOP-M6EQ5IM\EREN;Initial Catalog=AkunsemDB;Integrated Security=True" providerName="System.Data.SqlClient" />


奎斯特龙
如何获取列表asp.net web API身份用户(以及删除、放置)..用于ASP.NET WEB API?

[Route("api/user/userlist")]
    [HttpGet]????????????????
    ????????????????

wljmcqd8

wljmcqd81#

在UserManager助手类中,有Users属性,因此您可以查询它们。
另外,我强烈建议您在API中使用依赖注入。

elcex8rz

elcex8rz2#

是的,UserManager是一个很好的选择,但如果你想做更复杂的查询,最好的选择是dbcontext。IdentityDbContext会将这些表添加到你的数据库。


的数据
因此,您可以根据自己的需求编写任何LINQ查询。获取所有角色声明的示例代码

var claims = (from ur in _context.UserRoles
          where ur.UserId == user.Id
          join r in _context.Roles on ur.RoleId equals r.Id
          join rc in _context.RoleClaims on r.Id equals rc.RoleId
          select rc)

字符串

相关问题