繁体   English   中英

如何使用标识以编程方式在asp.net 5中创建用户

[英]How to programmatically create users in asp.net 5 using identity

我试图用种子方法创建一些用户,但没有运气。

我曾经使用过这个例子: 如何在asp.net mvc 5中添加角色和用户? UserManager接缝以不同的方式实例化。

查看AccountController ,此实例将在构造函数中加载:

    public AccountController(
        UserManager<ApplicationUser> userManager,
        SignInManager<ApplicationUser> signInManager,
        IEmailSender emailSender,
        ISmsSender smsSender,
        BennerCliContext applicationDbContext)
    {
        _userManager = userManager;
        _signInManager = signInManager;
        _emailSender = emailSender;
        _smsSender = smsSender;
        _applicationDbContext = applicationDbContext;
    }

但我的种子方法在于MyDbContext类。

如何从那里访问UserManager实例?

还有其他方法可以在vnext中创建用户吗?

更新

在@Vladislav Karamfilov建议之后:

在此输入图像描述

由于用户管理器已经在ASP.NET5的服务提供程序中注册,因此您可以通过调用以下方法轻松获取用户管理器的实例:

 var userManager=new HttpContextAccessor()
     .HttpContext.ApplicationServices.GetService(typeof(UserManager<ApplicationUser>));

您应该创建UserManager<ApplicationUser>的实例,然后使用CreateIdentity方法创建ApplicationUser对象。 但是,如果您为创建的用户分配管理员角色并且您的代码是公开的,请务必小心不要暴露您网站的安全性

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM