Как добавить пользовательский фильтр авторизации для метода, а не контроллера в asp net ядре? - PullRequest
0 голосов
/ 27 апреля 2020

Когда я добавляю пользовательский атрибут IAuthorization в метод контроллера, он работает, но когда я добавляю его в метод, который не является частью метода контроллера, метод IAuthorization не выполняется. Почему?

public interface ICasbinBLL
{
    public abstract string objectId { get; set; }

    [ClaimRequirement("userId", "delete")]
    string DeleteMonitoring();
}

public class CasbinBLL : ICasbinBLL
{
    public string objectId { get; set; }

    [ClaimRequirement("userId", "delete")]
    public string DeleteMonitoring()
    {
        return objectId;
    }
}

1 Ответ

0 голосов
/ 27 апреля 2020

IAuthorizationFilter - это один из фильтров в ASP. NET Core. Фильтры выполняются ASP. NET Базовая структура в конвейере фильтров .

Фильтры работают в ASP. NET Конвейер вызова основного действия, иногда называемый конвейером фильтра. Конвейер фильтров запускается после ASP. NET Core выбирает действие для выполнения.

Если вы добавляете фильтры к вашим собственным типам, ASP. NET Core не знает, как выполнить их.

...