Есть ли чистый способ получить атрибуты из appsettings.json и использовать их внутри атрибута класса? - PullRequest
0 голосов
/ 06 февраля 2019

Идея состоит в том, чтобы разрешить настраивать значения аутентификации в appsettings (asp.net.core) и использовать атрибут авторизации, чтобы контроллер получал автоматическую аутентификацию и его можно было конфигурировать из appsettings.

Грязный способбудет использовать статическую переменную, но я считаю, что есть лучший способ, который я не получаю из-за моего недостатка знаний о фреймворке.

[AuthorizeAttribute("some value from appsettings")]
class Controller : ApiController

1 Ответ

0 голосов
/ 06 февраля 2019

Вы не сможете динамически устанавливать значения appsetting для своего атрибута.

Я предлагаю вам использовать авторизацию на основе политик, например

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

В приведенном выше коде вы можете заменить"YourRoleName" из набора приложений легко.

В своем действии вы можете настроить политику следующим образом.

 [Authorize(Policy = "Policy1")]

Чтобы узнать больше о политике авторизации, вы можете проверить Policy-авторизация на основе ASP.NET Core

...