我使用Code-First EF(通过迁移类管理的数据库)作为.New Core Web API项目开始了我的项目。我的端点正常工作,但现在需要身份验证。
我遵循instructions here拥有身份支架。我确保使用现有的数据库上下文来搭建支架,然后运行迁移代码。身份所需的表是在我的SQL本地数据库上创建的。
我的下一步是使用.Net API创建默认的管理员用户。从网上找到的几个来源来看,我可以通过UserManager(和RoleManager)类创建用户,如下所示:
userManager.CreateAsync(user, ADMIN_PASSWORD).Result;
但是,我想在Startup.cs Configure函数中调用此类代码。如何使用userManager和roleManager。
使用此行配置应用程序时似乎实现了依赖项注入:
app.UseAuthorization();
在Configure类中。这就是将类注入控制器动作的方式吗?正确?但是首先,我需要创建一个默认管理员。
我不希望用户注册。我只希望管理员可以使用此应用。
如何注入用户管理器?
真的,我只想创建一个默认管理员,所以如果这种方式做错了,那很好,但是我在哪里以及如何去做?
我不知道这是否有所不同,但目的是在Angular应用程序中使用JWT令牌。
答案 0 :(得分:0)
不确定我是否理解正确。但是创建Admin用户(或与此相关的任何用户)将是一次过程。所以我不认为创建用户代码将在startup.cs中。您可能必须为经理用户开发其他视图。或者,您可以简单地使用SQL脚本创建用户。
就获取已配置服务的实例而言,您可以在Configure方法中注入IServiceProvider,然后获取所需服务的实例
public void Configure IServiceProvider sp)
{
var um = sp.GetRequiredService<IUserManager>();
}