gpt4 book ai didi

c# - 如何在 ConfigureServices 之外配置 IdentityOptions?

转载 作者:太空宇宙 更新时间:2023-11-03 14:39:49 26 4
gpt4 key购买 nike

我要配置 ASP.NET Core Identity基于驻留在数据库中的设置而不是 AppSetting.json或硬编码值。因此,我很想在方法 ConfigureServices(IServiceCollection services) 之外调用以下代码行:

services.Configure<IdentityOptions>(x => x.Password.RequireDigit = true);

这种调用方式将允许我初始化 DbContext在尝试配置之前 Identity .

目前我正在使用 services.BuildServiceProvider()ConfigureServices()访问数据库值。这种风格对我来说有一个很大的缺点:它对应用程序的 DbContext 进行了额外的初始化。这是又脏又慢。另一方面,DbContext被实例化两次而不是一次。

如果我能调用 services.Configure<IdentityOptions>()外面ConfigureServices() ,例如在 configure()方法,我将能够配置 Identity基于数据库值的选项,无需初始化 DbContext两次。

同样,我的问题是如何配置 IdentityOptions外面ConfigureServices

感谢任何帮助。

最佳答案

我最终注入(inject)了 IOptions<IdentityOptions> optionsConfigure()方法如下:

    public virtual void Configure(IApplicationBuilder app, IOptions<IdentityOptions> options)
{
options.Value.Password.RequireDigit = true;
//rest of configurations...
}

成功了!

感谢@Kirk 提供链接。

关于c# - 如何在 ConfigureServices 之外配置 IdentityOptions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57654334/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com