[英]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.