Пользовательский атрибут Authorize без идентификатора и OWIN - PullRequest
0 голосов
/ 24 мая 2018

Я хотел бы создать собственный атрибут авторизации, который не вызывает Identity или OWIN.По сути, единственное, к чему у него должен быть доступ, - это контекст запроса и возможность либо сообщить платформе MVC обработать процесс продолжения обработки запроса, либо отклонить его.

Вопрос ЕстьЕсть простой способ добиться этого в ASP.NET Core 2?

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

Лучше ли использовать другой тип фильтра?

1 Ответ

0 голосов
/ 18 июня 2018

Немного запоздалый ответ, но все же .. «старый» способ переопределения атрибутов возвращается с .Net Core 2.0, где в дополнение к базовому классу вы должны реализовать интерфейс IAuthorizationFilter:

[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
public class CustomAuthorizeAttribute : AuthorizeAttribute, IAuthorizationFilter
{
    private readonly string _someFilterParameter;

    public CustomAuthorizeAttribute(string someFilterParameter)
    {
        _someFilterParameter = someFilterParameter;
    }


    public void OnAuthorization(AuthorizationFilterContext context)
    {
        // you can play with the context here 
    }
}

Подробнее здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...