有没有干净的方式来获得appsettings.json属性,并使用这些类属性里面?

问题描述 投票:0回答:1

我们的想法是允许的AppSettings(asp.net.core)配置的认证值,并且使得控制器获取自动认证使用一个授权属性,它是从AppSettings的配置。

肮脏的方法是使用一个静态变量,但我相信有一个更好的办法,我没有,因为我没有对框架知识的获得。

[AuthorizeAttribute("some value from appsettings")]
class Controller : ApiController
c# asp.net-core appsettings
1个回答
3
投票

您将无法动态设置appsetting值的属性。

我建议你应该去像基于策略的授权

services.AddAuthorization(options =>
    {
        options.AddPolicy("Policy1", policy =>
            policy.RequireClaim("YourRoleName"));
    });

在上面的代码,你可以从appsetting方便更换“YourRoleName”。

在你的行动,你可以配置像下面的策略。

 [Authorize(Policy = "Policy1")]

要了解更多有关你可以检查Policy-based authorization in ASP.NET Core授权策略

© www.soinside.com 2019 - 2024. All rights reserved.